From a39e4703302562338543ea2e8386bf30d338c01a Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Mon, 23 Aug 2021 10:20:10 +0200 Subject: [PATCH] ansible-inventories/gentner#2370 Allow extra condition for proxy_redirect_search_replace --- templates/haproxy_cfg.jinja2 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/templates/haproxy_cfg.jinja2 b/templates/haproxy_cfg.jinja2 index bd7ecac..7f69e1b 100644 --- a/templates/haproxy_cfg.jinja2 +++ b/templates/haproxy_cfg.jinja2 @@ -82,7 +82,10 @@ frontend http_in http-request auth realm notprivate if !letsencrypt_challenge privatedomain !privateip !private_auth {% endif %} {% for redirect in proxy_redirect_search_replace|default([]) %} - http-request redirect code 301 location %[url,regsub(\"{{ redirect.search }}\",\"{{ redirect.replace }}\",i)] if !letsencrypt_challenge { path_reg {{ redirect.match }} } +{% if redirect.extra is defined %} + acl {{ redirect.extra.variable }} {{ redirect.extra.condition }} +{% endif %} + http-request redirect code 301 location %[url,regsub(\"{{ redirect.search }}\",\"{{ redirect.replace }}\",i)] if !letsencrypt_challenge {% if redirect.extra is defined %}{% if redirect.extra.negate|default(false) %}!{% endif %}{{ redirect.extra.variable }} {% endif %}{ path_reg {{ redirect.match }} } {% endfor %} {% for line in proxy_extra_lines|default([]) %} {{ line }} @@ -221,7 +224,10 @@ frontend https_in_{{ cert.ip }} http-request auth realm notprivate if privatedomain !privateip !private_auth {% endif %} {% for redirect in proxy_redirect_search_replace|default([]) %} - http-request redirect code 301 location %[url,regsub(\"{{ redirect.search }}\",\"{{ redirect.replace }}\",i)] if { path_reg {{ redirect.match }} } + {% if redirect.extra is defined %} + acl {{ redirect.extra.variable }} {{ redirect.extra.condition }} + {% endif %} + http-request redirect code 301 location %[url,regsub(\"{{ redirect.search }}\",\"{{ redirect.replace }}\",i)] if !letsencrypt_challenge {% if redirect.extra is defined %}{% if redirect.extra.negate|default(false) %}!{% endif %}{{ redirect.extra.variable }} {% endif %}{ path_reg {{ redirect.match }} } {% endfor %} {% for line in proxy_extra_lines|default([]) %} {{ line }} -- GitLab