diff --git a/seb4itik/byow/roles/caddy/defaults/main.yml b/seb4itik/byow/roles/caddy/defaults/main.yml index 0c08e61..a0d1fc0 100644 --- a/seb4itik/byow/roles/caddy/defaults/main.yml +++ b/seb4itik/byow/roles/caddy/defaults/main.yml @@ -114,6 +114,7 @@ caddy_coraza_crs_plugins: caddy_sites: [] # - id: "" # Mandatory: short id for the site (for site specific directories and files) # name: "" # Mandatory: canonical domain name +# no_upstream_host: false # Optionnal: Host header hostport, not upstream_hostport, default false # paths: # Mandatory: targets for the reverse proxy # - path: "*" # Optionnal: path of the request, default "*" # strip_prefix: false # Optionnal: default "false" diff --git a/seb4itik/byow/roles/caddy/templates/Caddyfile b/seb4itik/byow/roles/caddy/templates/Caddyfile index 66792f5..58790cd 100644 --- a/seb4itik/byow/roles/caddy/templates/Caddyfile +++ b/seb4itik/byow/roles/caddy/templates/Caddyfile @@ -152,6 +152,11 @@ reverse_proxy { to {{ path.addrs | join(' ') }} header_up X-Real-IP {remote} +{% if site.no_upstream_host | default(caddy_sites_defaults.site_no_upstream_host) %} + header_up Host {hostport} +{% else %} + header_up Host {upstream_hostport} +{% endif %} lb_policy {{ site.proxy_lb_policy | default(caddy_sites_defaults.proxy_lb_policy) }} {% if site.proxy_active_checks | default(caddy_sites_defaults.proxy_active_checks) %} diff --git a/seb4itik/byow/roles/caddy/vars/main.yml b/seb4itik/byow/roles/caddy/vars/main.yml index 23188d7..a92b2d2 100644 --- a/seb4itik/byow/roles/caddy/vars/main.yml +++ b/seb4itik/byow/roles/caddy/vars/main.yml @@ -4,6 +4,7 @@ caddy_global_sites_defaults: # Site aliases site_aliases: [] site_aliases_redirect: true + site_no_upstream_host: false # Proxy settings # See: https://caddyserver.com/docs/caddyfile/directives/reverse_proxy#lb_policy