diff --git a/tasks/configure.yml b/tasks/configure.yml index 8e783dffb99925f3682a5e5837659d6c638dae3b..e85f87607bbd8acefc9c78c1083bdd4c326fbe3c 100644 --- a/tasks/configure.yml +++ b/tasks/configure.yml @@ -114,6 +114,7 @@ mode='644' with_items: - 'domain' + - 'domain-append-path' - 'path' notify: "Check HAProxy Config" diff --git a/templates/haproxy_cfg.jinja2 b/templates/haproxy_cfg.jinja2 index 66345377b24711c2a739f93f30a1b774bebff519..72671e27815f537cd7042ff095ba4270ef1f59d2 100644 --- a/templates/haproxy_cfg.jinja2 +++ b/templates/haproxy_cfg.jinja2 @@ -73,6 +73,7 @@ frontend http_in 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 found } 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 %[hdr(host),map(/etc/haproxy/redirect.domain-append-path.map)]%[capture.req.uri] if !letsencrypt_challenge { hdr(host),map(/etc/haproxy/redirect.domain-append-path.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 @@ -192,6 +193,7 @@ frontend https_in_{{ cert.ip }} http-request del-header Proxy 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 } + http-request redirect code 301 location %[hdr(host),map(/etc/haproxy/redirect.domain-append-path.map)]%[capture.req.uri] if { hdr(host),map(/etc/haproxy/redirect.domain-append-path.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