diff --git a/README.md b/README.md index 315e370..04c9f32 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,9 @@ php: False # dict of ips to accept "X-Forwarded-~" from real_ip_from: {"127.0.0.1": {}, "::1": {}} +# array of headers to add on *all* vhosts +add_headers: [] + ``` **upstreamconfig**: @@ -72,6 +75,9 @@ custom: [] # array of locations, see below locations: [*locationconfig*, .. ] + +# array of headers to add on this vhost +add_headers: [] ``` **locationconfig**: diff --git a/defaults/main.yml b/defaults/main.yml index 4c015ed..cfb280e 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,5 +1,6 @@ nginx: + add_headers: [] real_ip_from: "127.0.0.1": {} "::1": {} diff --git a/templates/vhost.conf.j2 b/templates/vhost.conf.j2 index 840265b..bf2ae04 100644 --- a/templates/vhost.conf.j2 +++ b/templates/vhost.conf.j2 @@ -2,6 +2,7 @@ {% set vhost = item.value %} {% set vhost_name = item.key %} {% set vhost_listen = vhost.listen|default({}) %} +{% set vhost_headers = nginx.add_headers|default({})|combine(vhost.add_headers|default({})) %} server { {% if vhost.servername|default([])|length > 0 %} @@ -17,8 +18,8 @@ server { listen [::]:{{ vhost_listen.nossl_port|default(80) }} {% if vhost.default_server|default(False) %}default_server{% endif %}; {% endif %} - {% for header in vhost.add_headers|default([]) %} - add_header {{ header }} "{{ vhost.add_headers[header] }}"; + {% for header in vhost_headers if header %} + add_header {{ header }} "{{ vhost_headers[header] }}"; {% endfor %} {% for c in vhost.custom|default([]) %}