aboutsummaryrefslogtreecommitdiffstats
path: root/roles/git/templates
diff options
context:
space:
mode:
Diffstat (limited to 'roles/git/templates')
-rw-r--r--roles/git/templates/etc_nginx_sites-available_cgit.j224
1 files changed, 24 insertions, 0 deletions
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;
+ }
}