# vim: ft=nginx include root-base.conf; {% if use_https %} http { include http-base.conf; include hosted-http-base.conf; include rate-limiting.conf; server_names_hash_bucket_size 64; resolver 127.0.0.1 valid=10s; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!3DES:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:60m; ssl_session_timeout 2h; ssl_session_tickets on; ssl_prefer_server_ciphers on; ssl_dhparam dhparams.pem; # TODO: learn OCSP stapling and do it the right way #ssl_stapling on; #ssl_stapling_verify off; #ssl_trusted_certificate ../stack/ssl.key; server { server_name _; ssl_certificate ../stack/ssl.cert; ssl_certificate_key ../stack/ssl.key; include server-base.conf; listen 443 ssl http2 default; ssl on; # This header must be set only for HTTPS add_header Strict-Transport-Security "max-age=63072000; preload"; access_log /dev/stdout lb_logs; } server { server_name _; ssl_certificate ../stack/ssl.cert; ssl_certificate_key ../stack/ssl.key; include server-base.conf; listen 8443 ssl http2 default proxy_protocol; ssl on; # This header must be set only for HTTPS add_header Strict-Transport-Security "max-age=63072000; preload"; real_ip_header proxy_protocol; access_log /dev/stdout lb_logs; } {% if v1_only_domain %} server { include server-base.conf; server_name {{ v1_only_domain }}; {% if use_old_certs %} ssl_certificate ../stack/ssl.old.cert; ssl_certificate_key ../stack/ssl.old.key; {% else %} ssl_certificate ../stack/ssl.cert; ssl_certificate_key ../stack/ssl.key; {% endif %} listen 443 ssl; ssl on; # This header must be set only for HTTPS add_header Strict-Transport-Security "max-age=63072000; preload"; access_log /dev/stdout lb_logs; } server { server_name {{ v1_only_domain }}; {% if use_old_certs %} ssl_certificate ../stack/ssl.old.cert; ssl_certificate_key ../stack/ssl.old.key; {% else %} ssl_certificate ../stack/ssl.cert; ssl_certificate_key ../stack/ssl.key; {% endif %} include server-base.conf; listen 8443 ssl proxy_protocol; ssl on; # This header must be set only for HTTPS add_header Strict-Transport-Security "max-age=63072000; preload"; real_ip_header proxy_protocol; access_log /dev/stdout lb_logs; } {% endif %} } {% else %} http { include http-base.conf; include rate-limiting.conf; resolver 127.0.0.1 valid=10s; server { include server-base.conf; listen 80 default; access_log /dev/stdout lb_logs; } } {% endif %}