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 sont 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 :
redirect scheme https code 301 if !{ ssl_fc }
Forcer un ou plusieurs domaine 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 LES_AUTRES_DOMAINES } !{ ssl_fc }
Rediriger un domaine vers une URL
La règle est applicable au niveau frontend et backend, 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
Interdire une URI d'un domaine
La règle est applicable au niveau frontend et backend, 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 frontend et backend, 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