diff --git a/knowledge base/nginx.md b/knowledge base/nginx.md index 9a80469..1a231be 100644 --- a/knowledge base/nginx.md +++ b/knowledge base/nginx.md @@ -1,4 +1,4 @@ -# nginx +# Nginx TODO @@ -7,28 +7,93 @@ TODO 1. [TL;DR](#tldr) 1. [Further readings](#further-readings) + 1. [Sources](#sources) ## TL;DR - - +[documentation]: https://nginx.org/en/docs/ [website]: https://nginx.org/en/ diff --git a/snippets/nginx/redirect http to https.conf b/snippets/nginx/redirect http to https.conf new file mode 100644 index 0000000..ef2a321 --- /dev/null +++ b/snippets/nginx/redirect http to https.conf @@ -0,0 +1,8 @@ +server { + listen 80; + server_name this.example.org; + + location / { + return 301 https://$host$request_uri; + } +} diff --git a/snippets/nginx/reverse proxy with host header override.conf b/snippets/nginx/reverse proxy with host header override.conf index 4533b8d..4255897 100644 --- a/snippets/nginx/reverse proxy with host header override.conf +++ b/snippets/nginx/reverse proxy with host header override.conf @@ -1,20 +1,24 @@ server { - listen 443 ssl; - server_name code.example.org; + listen 443 ssl; + server_name code.example.org; - ssl_certificate /etc/nginx/ssl/code.example.org.crt; - ssl_certificate_key /etc/nginx/ssl/code.example.org.key; + ssl_certificate /etc/nginx/ssl/code.example.org.crt; + ssl_certificate_key /etc/nginx/ssl/code.example.org.key; - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers HIGH:!aNULL:!MD5; + # Optional + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers HIGH:!aNULL:!MD5; location / { - proxy_pass https://gitea.example.org:443; - proxy_set_header Host gitea.example.org; + proxy_pass https://gitea.example.org; + proxy_set_header Host gitea.example.org; # Optional but recommended - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + + # Only when the destination uses self-signed certs + proxy_ssl_verify off; } }