Haproxy : Reverse Proxy https

De www.yakakliker.org

Approche 1

Avec cette approche, la communication se fait en http avec le backend (serveur web de destination) et en http où https avec les clients.

Les certificats sont hébergés uniquement sur HAproxy

frontend yakakliker
    bind *:80
    mode http
    option httplog
    acl yaka_acl  hdr(host)   www.yakakliker.org
    use_backend backend1 if yaka_acl



frontend yakakliker_443
    bind *:443 ssl crt /etc/haproxy/cert/www.yakakliker.org.pem
    mode http
    option httplog
    acl yaka_acl  hdr(host)   www.yakakliker.org

    redirect scheme https code 301 if !{ ssl_fc }
    use_backend backend1 if yaka_acl



backend backend1
    mode http
    balance source
    option httpchk
    option forwardfor except 127.0.0.1
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    server web-server1  Adresse_IP:80 maxconn 32

Approche 2

frontend yakakliker
    bind *:80
    bind *:443 ssl crt /etc/haproxy/cert/www.yakakliker.org.pem name www.yakakliker.org

    filter cache mycache
    http-request cache-use mycache
    http-response cache-store mycache

    mode http
    option httplog
    acl yaka_acl  hdr(host)   www.yakakliker.org
    http-request redirect scheme https code 301 unless { ssl_fc }
    use_backend backend1 if yaka_acl

 
backend backend1
    balance roundrobin
    mode http

    filter cache mycache
    http-request cache-use mycache
    http-response cache-store mycache


    option httpchk
    http-check expect ! rstatus ^5
    default-server inter 3s fall 3 rise 2
    option forwardfor except 127.0.0.1
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    server web-server1  192.168.1.100:80 check
    server web-server2  192.168.2.100:80 check

Test de la configuration

 haproxy -f /etc/haproxy/haproxy.cfg -c

Lien

https://wiki.maxcorp.org/configurer-un-reverse-proxy-avec-haproxy-http-https/

https://www.haproxy.com/blog/redirect-http-to-https-with-haproxy#redirect-to-https

Haproxy : Unable to load SSL private key from PEM file

https://gist.github.com/urodoz/d7796cec6d47566439ba3d8ecce962f1

compteur web gratuit sans pub