diff options
Diffstat (limited to 'gogs/gogs.conf')
-rw-r--r-- | gogs/gogs.conf | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gogs/gogs.conf b/gogs/gogs.conf new file mode 100644 index 000000000000..4b3c91c792f3 --- /dev/null +++ b/gogs/gogs.conf @@ -0,0 +1,50 @@ +# Gogs TLS tunnel +server { + listen 443 ssl; + + # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate + ssl_certificate /etc/nginx/ssl/git-tazj-in.crt; + ssl_certificate_key /etc/nginx/ssl/git-tazj-in.key; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:50m; + ssl_session_tickets off; + + # Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits + ssl_dhparam /etc/nginx/ssl/git-tazj-in.dh; + + # modern configuration. tweak to your needs. + ssl_protocols TLSv1.1 TLSv1.2; + 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:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; + ssl_prefer_server_ciphers on; + + # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) + add_header Strict-Transport-Security max-age=15768000; + + # OCSP Stapling --- + # fetch OCSP records from URL in ssl_certificate and cache them + ssl_stapling on; + ssl_stapling_verify on; + + ## verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/nginx/ssl/letsencrypt.crt; + + resolver 8.8.8.8; + + # Proxy all requests to Gogs + location / { + proxy_pass http://localhost:3000; + } + + # Except the tiny .well-known folder, which we will need for renewing certs + location ^~ /.well-known/acme-challenge/ { + default_type "text/plain"; + root /tmp/gogs/letsencrypt; + } +} + +# Redirect to HTTPS +server { + listen 80 default_server; + server_name _; + return 301 https://$host$request_uri; +} |