From 3f5033678cc26bfddcd1dcabb5e53ee120e284bb Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Wed, 22 Jun 2022 20:59:27 -0700 Subject: cgit: https by default for git.bnewbold.net --- .../templates/etc_nginx_sites-available_cgit.j2 | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/roles/git/templates/etc_nginx_sites-available_cgit.j2 b/roles/git/templates/etc_nginx_sites-available_cgit.j2 index 903d38c..8efe3a7 100644 --- a/roles/git/templates/etc_nginx_sites-available_cgit.j2 +++ b/roles/git/templates/etc_nginx_sites-available_cgit.j2 @@ -4,7 +4,25 @@ server { listen 80; listen [::]:80; + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name {{ cgit_hostname }}; + + ssl_certificate /etc/letsencrypt/live/bnewbold.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/bnewbold.net/privkey.pem; + + add_header Content-Security-Policy "default-src 'self'; style-src 'self' 'unsafe-inline'"; + add_header X-Frame-Options "SAMEORIGIN"; # 'always' if nginx > 1.7.5 + add_header X-Content-Type-Options "nosniff"; # 'always' if nginx > 1.7.5 + add_header X-Xss-Protection "1"; + # Enable STS with one year period (breaks http; optional) + #add_header Strict-Transport-Security "max-age=31557600; includeSubDomains"; + + if ($scheme = http) { + return 301 https://$server_name$request_uri; + } + root /srv/http/cgit; location / { @@ -21,5 +39,11 @@ server { include "fastcgi_params"; } + + # Let's Encrypt SSL Certs + location /.well-known/acme-challenge/ { + root /var/www/letsencrypt; + autoindex off; + } } -- cgit v1.2.3