# 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'; access_log /var/log/nginx/access.log logstash; # 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; 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"; } # Redirect for oslo.pub server { listen 80; listen 443 ssl; server_name oslo.pub *.oslo.pub; return 302 https://git.tazj.in/tazjin/pubkartet; } # 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/; } }