Redirections et restrictions sur HAProxy
Introduction
Voici quelques configurations de redirections et restrictions sur HAProxy. Pour chacune des configurations, il est précisé à quel niveau ces dernières sont applicables, frontend, backend ou les deux.
Configurations
Forcer tous les domaines en HTTPS
La règle est applicable au niveau frontend et backend, la redirection ici est de type permanente (code 301, çà sera de même pour toutes les redirections de la FAQ) :
redirect scheme https code 301 if !{ ssl_fc }
Forcer un ou plusieurs domaines précis en HTTPS
La règle est applicable au niveau frontend et backend, dans notre exemple nous utilisons les domaines domain.tld et www.domain.tld, cette liste peut être exhaustive :
redirect scheme https code 301 if { hdr(Host) -i domain.tld -i www.domain.tld -i ...AUTRE_DOMAINE... } !{ ssl_fc }
Rediriger un domaine vers une URL
La règle est applicable au niveau backend avec le mode http activé, dans notre cas nous redirigeons domain.tld vers www.domain.tld :
acl NOM_DE_LA_REGLE hdr(host) -i domain.tld http-request redirect code 301 location http://www.domain.tld if NOM_DE_LA_REGLE
Rediriger un domaine vers une URL en gardant l'URI
La règle est applicable au niveau backend avec le mode http activé, dans notre cas nous redirigeons domain.tld vers www.domain.tld tout en gardant l'URI, exemple domain.tld/index.php vers www.domain.tld/index.php :
acl NOM_DE_LA_REGLE hdr(host) -i domain.tld http-request redirect code 301 location http://www.domain.tld%[capture.req.uri] if NOM_DE_LA_REGLE
Interdire une URI d'un domaine
La règle est applicable au niveau backend avec le mode http activé, l'interdiction ici est mise en place sur les URI /config ou /config/ :
acl NOM_DE_LA_REGLE path_reg /config($|/$) http-request deny if NOM_DE_LA_REGLE
Restreindre une URL d'un domaine à une IP
La règle est applicable au niveau backend avec le mode http activé, la restriction est uniquement sur le domaine domain.tld, l'URI qui commence par /admin (donc l'URL domain.tld/admin) pour l'IP 1.2.3.4 :
acl NOM_DE_LA_REGLE_1 hdr(host) -i domain.tld acl NOM_DE_LA_REGLE_3 path_beg /admin acl NOM_DE_LA_REGLE_2 src 1.2.3.4 http-request deny if NOM_DE_LA_REGLE_1 NOM_DE_LA_REGLE_2 !NOM_DE_LA_REGLE_3
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires