diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-08-28 21:13:35 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-08-28 21:13:35 +0200 |
commit | 6b115ba61541b4ea158b102e9fe32658894189af (patch) | |
tree | 66abbef7825b52c084baf82f7645c1235155f9f3 /roles/nginx/vhost | |
parent | http|imap-proxy: fix tls encryption to backend (allow TLS1.0) (diff) |
nginx/vhost: static file template and catchall site for ch-http-proxy
Diffstat (limited to 'roles/nginx/vhost')
-rw-r--r-- | roles/nginx/vhost/defaults/main.yml | 16 | ||||
-rw-r--r-- | roles/nginx/vhost/templates/static-files-with-acme.conf.j2 | 36 |
2 files changed, 50 insertions, 2 deletions
diff --git a/roles/nginx/vhost/defaults/main.yml b/roles/nginx/vhost/defaults/main.yml index dfedb50b..eea545c8 100644 --- a/roles/nginx/vhost/defaults/main.yml +++ b/roles/nginx/vhost/defaults/main.yml @@ -4,10 +4,22 @@ # template: generic-proxy-no-buffering-with-acme # acme: yes # hostnames: -# - example.com -# - www.example.com +# - example.com +# - www.example.com # proxy_pass: http://127.0.0.1:8080 +# default: yes # nginx_vhost: # name: other-example # content: "<<< content of vhost >>>" + +# nginx_vhost: +# name: static +# template: static-files-with-acme +# acme: yes +# hostnames: +# - static.example.com +# root: /srv/www/static +# index: index.html +# autoindex: +# format: json diff --git a/roles/nginx/vhost/templates/static-files-with-acme.conf.j2 b/roles/nginx/vhost/templates/static-files-with-acme.conf.j2 new file mode 100644 index 00000000..f99d6eb4 --- /dev/null +++ b/roles/nginx/vhost/templates/static-files-with-acme.conf.j2 @@ -0,0 +1,36 @@ +server { + listen 80{% if 'default' in nginx_vhost and nginx_vhost.default %} default_server{% endif %}; + listen [::]:80{% if 'default' in nginx_vhost and nginx_vhost.default %} default_server{% endif %}; + server_name {{ nginx_vhost.hostnames | join(' ') }}; + + include snippets/acmetool.conf; + + location / { + return 301 https://$host$request_uri; + } +} + +server { + listen 443 ssl http2{% if 'default' in nginx_vhost and nginx_vhost.default %} default_server{% endif %}; + listen [::]:443 ssl http2{% if 'default' in nginx_vhost and nginx_vhost.default %} default_server{% endif %}; + server_name {{ nginx_vhost.hostnames | join(' ') }}; + + include snippets/acmetool.conf; + include snippets/tls{% if 'tls_variant' in nginx_vhost %}-{{ nginx_vhost.tls_variant }}{% endif %}.conf; + ssl_certificate /var/lib/acme/live/{{ nginx_vhost.hostnames[0] }}/fullchain; + ssl_certificate_key /var/lib/acme/live/{{ nginx_vhost.hostnames[0] }}/privkey; + include snippets/hsts.conf; + + location / { + root {{ nginx_vhost.root }}; +{% if 'index' in nginx_vhost %} + index {{ nginx_vhost.index }}; +{% endif %} +{% if 'autoindex' in nginx_vhost %} + autoindex on; +{% if 'format' in nginx_vhost.autoindex %} + autoindex_format {{ nginx_vhost.autoindex.format }}; +{% endif %} +{% endif %} + } +} |