diff options
author | Vincent Ambo <vincent@kivra.com> | 2016-03-23T14·13+0100 |
---|---|---|
committer | Vincent Ambo <vincent@kivra.com> | 2016-03-23T14·13+0100 |
commit | f3d71cf5fe1174802687c86eff2abb2e17522504 (patch) | |
tree | e600dc57208538c1876d992f15bdbd23e509b7a1 /nginx/conf | |
parent | 196de927527862aa0bd9606f139622a2ef84adce (diff) |
[nginx] Split config into multiple files
Diffstat (limited to 'nginx/conf')
-rw-r--r-- | nginx/conf/http.conf | 42 | ||||
-rw-r--r-- | nginx/conf/main.conf | 52 | ||||
-rw-r--r-- | nginx/conf/stream.conf | 6 |
3 files changed, 100 insertions, 0 deletions
diff --git a/nginx/conf/http.conf b/nginx/conf/http.conf new file mode 100644 index 000000000000..fc287e5f6bc6 --- /dev/null +++ b/nginx/conf/http.conf @@ -0,0 +1,42 @@ +# Default TLS redirect +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; +} + +# Gogs web interface +server { + listen 443 ssl http2; + server_name git.tazj.in; + location / { + proxy_pass http://gogs-priv.default.svc.cluster.local:3000; + } +} + +# 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/; + } +} diff --git a/nginx/conf/main.conf b/nginx/conf/main.conf new file mode 100644 index 000000000000..7c25877b27d8 --- /dev/null +++ b/nginx/conf/main.conf @@ -0,0 +1,52 @@ +user nginx; +worker_processes 1; +daemon off; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + sendfile on; + + keepalive_timeout 65; + gzip on; + + # 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; + + # 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; + + # 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; + + include /etc/nginx/conf/http.conf; +} + +stream { + include /etc/nginx/conf/stream.conf; +} diff --git a/nginx/conf/stream.conf b/nginx/conf/stream.conf new file mode 100644 index 000000000000..6b13de67773c --- /dev/null +++ b/nginx/conf/stream.conf @@ -0,0 +1,6 @@ +# Gogs SSH tunneling + +server { + listen 22; + proxy_pass gogs-priv.default.svc.cluster.local:22; +} |