diff options
author | Christian Pointner <equinox@spreadspace.org> | 2023-10-09 16:07:55 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2023-10-09 16:07:55 +0200 |
commit | 9b5da334fa74cb994e41a778713c8670f50c1690 (patch) | |
tree | 91ddfa45d56b15e95345aad5927e0422518ef35b /roles/nginx/vhost/templates/includes/body.j2 | |
parent | sk-cloudio: new nextcloud instanze luzesombra.skillz.biz (diff) |
nginx/vhost: refactor templates and add tlsonly variant
Diffstat (limited to 'roles/nginx/vhost/templates/includes/body.j2')
-rw-r--r-- | roles/nginx/vhost/templates/includes/body.j2 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/roles/nginx/vhost/templates/includes/body.j2 b/roles/nginx/vhost/templates/includes/body.j2 new file mode 100644 index 00000000..a80bcc2c --- /dev/null +++ b/roles/nginx/vhost/templates/includes/body.j2 @@ -0,0 +1,56 @@ +{% if 'custom' in nginx_vhost %} + {{ nginx_vhost.custom | trim | indent(4) }} +{% else %} +{% if 'extra_directives' in nginx_vhost %} + {{ nginx_vhost.extra_directives | trim | indent(4) }} + +{% endif %} +{% for path, location in nginx_vhost.locations.items() %} + location {{ path }} { +{% if 'proxy_pass' in location %} + include snippets/proxy-nobuff.conf; + proxy_set_header Host $host; + include snippets/proxy-forward-headers.conf; + + # for websockets + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + proxy_pass {{ location.proxy_pass }}; +{% if 'proxy_redirect' in location %} +{% for entry in location.proxy_redirect %} + proxy_redirect {{ entry.redirect }} {{ entry.replacement }}; +{% endfor %} +{% endif %} +{% if 'proxy_ssl' in location %} +{% for prop in (location.proxy_ssl | list | sort) %} + proxy_ssl_{{ prop }} {{ location.proxy_ssl[prop] }}; +{% endfor %} +{% endif %} +{% elif 'return' in location %} + return {{ location.return }}; +{% elif 'custom' in location %} + {{ location.custom | trim | indent(8) }} +{% else %} +{% if 'root' in location %} + root {{ location.root }}; +{% elif 'alias' in location %} + alias {{ location.alias }}; +{% endif %} +{% if 'index' in location %} + index {{ location.index }}; +{% endif %} +{% if 'autoindex' in location %} + autoindex on; +{% if 'format' in location.autoindex %} + autoindex_format {{ nginx_vhost.autoindex.format }}; +{% endif %} +{% endif %} +{% endif %} +{% if 'extra_directives' in location %} + + {{ location.extra_directives | trim | indent(8) }} +{% endif %} + } +{% endfor %} +{% endif %} |