diff options
Diffstat (limited to 'roles')
-rw-r--r-- | roles/nginx/base/defaults/main.yml | 5 | ||||
-rw-r--r-- | roles/nginx/base/files/snippets/hsts.conf | 2 | ||||
-rw-r--r-- | roles/nginx/base/files/snippets/tls-legacy.conf (renamed from roles/nginx/base/files/snippets/ssl.conf) | 1 | ||||
-rw-r--r-- | roles/nginx/base/files/snippets/tls.conf | 9 | ||||
-rw-r--r-- | roles/nginx/base/tasks/main.yml | 2 | ||||
-rw-r--r-- | roles/nginx/vhost/templates/generic-proxy-no-buffering-with-acme.conf.j2 | 2 |
6 files changed, 16 insertions, 5 deletions
diff --git a/roles/nginx/base/defaults/main.yml b/roles/nginx/base/defaults/main.yml index f460fa91..2cd84e5a 100644 --- a/roles/nginx/base/defaults/main.yml +++ b/roles/nginx/base/defaults/main.yml @@ -5,7 +5,10 @@ nginx_conf_d_files: - connection-upgrade nginx_snippets: - - ssl + - tls + - tls-legacy - hsts - proxy-nobuff - proxy-forward-headers + +nginx_dhparam_size: 2048 diff --git a/roles/nginx/base/files/snippets/hsts.conf b/roles/nginx/base/files/snippets/hsts.conf index 4ca8396e..e0723502 100644 --- a/roles/nginx/base/files/snippets/hsts.conf +++ b/roles/nginx/base/files/snippets/hsts.conf @@ -1 +1 @@ -add_header Strict-Transport-Security max-age=15768000; +add_header Strict-Transport-Security max-age=15768000 always; diff --git a/roles/nginx/base/files/snippets/ssl.conf b/roles/nginx/base/files/snippets/tls-legacy.conf index d187a7c0..3dc4caf3 100644 --- a/roles/nginx/base/files/snippets/ssl.conf +++ b/roles/nginx/base/files/snippets/tls-legacy.conf @@ -2,7 +2,6 @@ ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AES:!ADH:!AECDH:!MD5; ssl_prefer_server_ciphers on; -# openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048 ssl_dhparam /etc/ssl/dhparams.pem; ssl_session_cache shared:SSL:10m; diff --git a/roles/nginx/base/files/snippets/tls.conf b/roles/nginx/base/files/snippets/tls.conf new file mode 100644 index 00000000..46d43ecb --- /dev/null +++ b/roles/nginx/base/files/snippets/tls.conf @@ -0,0 +1,9 @@ +ssl_protocols TLSv1.2 TLSv1.3; +ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES128:!RSA:!ADH:!AECDH:!MD5; +ssl_prefer_server_ciphers on; + +ssl_dhparam /etc/ssl/dhparams.pem; + +ssl_session_cache shared:SSL:10m; +ssl_session_timeout 10m; +ssl_session_tickets off; diff --git a/roles/nginx/base/tasks/main.yml b/roles/nginx/base/tasks/main.yml index a975ce52..a434b708 100644 --- a/roles/nginx/base/tasks/main.yml +++ b/roles/nginx/base/tasks/main.yml @@ -27,5 +27,5 @@ - name: generate Diffie-Hellman parameters openssl_dhparam: path: /etc/ssl/dhparams.pem - size: 2048 + size: "{{ nginx_dhparam_size }}" notify: restart nginx diff --git a/roles/nginx/vhost/templates/generic-proxy-no-buffering-with-acme.conf.j2 b/roles/nginx/vhost/templates/generic-proxy-no-buffering-with-acme.conf.j2 index 1003ab88..b943b2e4 100644 --- a/roles/nginx/vhost/templates/generic-proxy-no-buffering-with-acme.conf.j2 +++ b/roles/nginx/vhost/templates/generic-proxy-no-buffering-with-acme.conf.j2 @@ -16,7 +16,7 @@ server { server_name {{ nginx_vhost.hostnames | join(' ') }}; include snippets/acmetool.conf; - include snippets/ssl.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; |