diff options
Diffstat (limited to 'nginx/server.conf')
-rw-r--r-- | nginx/server.conf | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nginx/server.conf b/nginx/server.conf new file mode 100644 index 000000000000..965e36259dad --- /dev/null +++ b/nginx/server.conf @@ -0,0 +1,49 @@ +# Logstash log format +log_format logstash '$http_host ' +'$remote_addr [$time_local] ' +'"$request" $status $body_bytes_sent ' +'"$http_referer" "$http_user_agent" ' +'$request_time ' +'$upstream_response_time'; + +# Modern SSL config +ssl_protocols TLSv1.2; +ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; +ssl_prefer_server_ciphers on; +ssl_session_timeout 1d; +ssl_session_cache shared:SSL:50m; +ssl_session_tickets off; +ssl_dhparam /etc/nginx/ssl/dhparam/tls.dhparam; + +# Default tazj.in config (certs need to be overriden for other stuff, like oslo.pub) +ssl_certificate /etc/nginx/ssl/tazj.in/tls.key; +ssl_certificate_key /etc/nginx/ssl/tazj.in/tls.crt; + +# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) +add_header Strict-Transport-Security max-age=15768000; + +server { + listen 80; + server_name *.tazj.in tazj.in; + access_log /var/log/nginx/tls_redirect.log logstash; + return 301 https://$server_name$request_uri; +} + +# Simple IP echo thing +server { + listen 80; + server_name ip.tazj.in; + access_log off; + add_header "Content-Type" "text/plain"; + return 200 "$remote_addr\n"; +} + +# TazBlog +server { + listen 443 ssl http2 default_server; + server_name www.tazj.in tazj.in default; + + location / { + proxy_pass http://tazblog-priv.default.svc.cluster.local/; + } +} |