From 1bebb2954159724d40860202528ab73ec635c434 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Wed, 14 Mar 2018 11:45:49 +0100 Subject: [PATCH] Do path redirects before the domain redirects as they are more specific --- templates/haproxy_cfg.jinja2 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/haproxy_cfg.jinja2 b/templates/haproxy_cfg.jinja2 index 0fabc57..e6df3f8 100644 --- a/templates/haproxy_cfg.jinja2 +++ b/templates/haproxy_cfg.jinja2 @@ -71,8 +71,9 @@ frontend http_in {% endfor %} http-request set-header x-routing-host undefined acl letsencrypt_challenge path_beg /.well-known/acme-challenge/ + http-request redirect code 301 location %[capture.req.uri,map(/etc/haproxy/redirect.path.map)] if !letsencrypt_challenge { capture.req.uri,map(/etc/haproxy/redirect.path.map) -m http-request redirect code 301 location %[hdr(host),map(/etc/haproxy/redirect.domain.map)] if !letsencrypt_challenge { hdr(host),map(/etc/haproxy/redirect.domain.map) -m found } - http-request redirect code 301 location %[capture.req.uri,map(/etc/haproxy/redirect.path.map)] if !letsencrypt_challenge { capture.req.uri,map(/etc/haproxy/redirect.path.map) -m found } +found } {% if haproxy_private is defined %} {% if haproxy_private.domain is defined %} acl privatedomain hdr(host) -i -n -f /etc/haproxy/privatelist.domain @@ -190,8 +191,8 @@ frontend http_in frontend https_in_{{ cert.ip }} bind {{ cert.ip }}:443 ssl crt /etc/haproxy/certs/{{ cert.file }} no-sslv3 http-request del-header Proxy - http-request redirect code 301 location %[hdr(host),map(/etc/haproxy/redirect.domain.map)] if { hdr(host),map(/etc/haproxy/redirect.domain.map) -m found } http-request redirect code 301 location %[capture.req.uri,map(/etc/haproxy/redirect.path.map)] if { capture.req.uri,map(/etc/haproxy/redirect.path.map) -m found } + http-request redirect code 301 location %[hdr(host),map(/etc/haproxy/redirect.domain.map)] if { hdr(host),map(/etc/haproxy/redirect.domain.map) -m found } {% if haproxy_private is defined %} {% if haproxy_private.domain is defined %} acl privatedomain hdr(host) -i -n -f /etc/haproxy/privatelist.domain -- GitLab