« Haproxy : Reverse Proxy https » : différence entre les versions
De www.yakakliker.org
Aucun résumé des modifications  | 
				Aucun résumé des modifications  | 
				||
| (7 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
=== Approche 1   | === 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.  | Avec cette approche, la communication se fait en http avec le backend (serveur web de destination) et en http où https avec les clients.  | ||
| Ligne 33 : | Ligne 33 : | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
=== Approche 2   | === Approche 2 ===  | ||
<syntaxhighlight lang="bash">  | <syntaxhighlight lang="bash">  | ||
frontend yakakliker  | frontend yakakliker  | ||
     bind *:80  |      bind *:80  | ||
     bind *:443 ssl crt /etc/haproxy/cert/www.yakakliker.org.pem  |      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  |      mode http  | ||
     option httplog  |      option httplog  | ||
| Ligne 44 : | Ligne 49 : | ||
     use_backend backend1 if yaka_acl  |      use_backend backend1 if yaka_acl  | ||
backend backend1  | backend backend1  | ||
    balance roundrobin  | |||
     mode http  |      mode http  | ||
     filter cache mycache  | |||
    http-request cache-use mycache  | |||
    http-response cache-store mycache  | |||
     option httpchk  |      option httpchk  | ||
    http-check expect ! rstatus ^5  | |||
    default-server inter 3s fall 3 rise 2  | |||
     option forwardfor except 127.0.0.1  |      option forwardfor except 127.0.0.1  | ||
     http-request add-header X-Forwarded-Proto https if { ssl_fc }  |      http-request add-header X-Forwarded-Proto https if { ssl_fc }  | ||
     server web-server1    |      server web-server1  192.168.1.100:80 check  | ||
    server web-server2  192.168.2.100:80 check  | |||
</syntaxhighlight>  | |||
=== Test de la configuration ===  | |||
<syntaxhighlight lang="bash">  | |||
 haproxy -f /etc/haproxy/haproxy.cfg -c  | |||
</syntaxhighlight>  | </syntaxhighlight>  | ||
| Ligne 61 : | Ligne 81 : | ||
[[Haproxy : Unable to load SSL private key from PEM file]]  | [[Haproxy : Unable to load SSL private key from PEM file]]  | ||
https://gist.github.com/urodoz/d7796cec6d47566439ba3d8ecce962f1  | |||
[[Catégorie:Haproxy]]  | [[Catégorie:Haproxy]]  | ||
[[Catégorie:SSL]]  | [[Catégorie:SSL]]  | ||
<html>  | |||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>  | |||
<script>  | |||
  kofiWidgetOverlay.draw('yakakliker', {  | |||
    'type': 'floating-chat',  | |||
    'floating-chat.donateButton.text': 'Café',  | |||
    'floating-chat.donateButton.background-color': '#00b9fe',  | |||
    'floating-chat.donateButton.text-color': '#fff'  | |||
  });  | |||
</script>  | |||
		</html>  | |||
		<html>  | |||
<a href="https://www.compteurdevisite.com" title="compteur web gratuit sans pub"><img src="https://counter6.optistats.ovh/private/compteurdevisite.php?c=b4epghealnwlf7wuq7gn3ygll9aywrfx" border="0" title="compteur web gratuit sans pub" alt="compteur web gratuit sans pub"></a>  | |||
		</html>  | |||
Dernière version du 17 février 2025 à 13:37
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