# {{ ansible_managed }} 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 / { try_files $uri @cgit; } location @cgit { index cgit.cgi; fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_param HTTP_HOST $server_name; fastcgi_param PATH_INFO $uri; fastcgi_param QUERY_INFO $uri; include "fastcgi_params"; } # Let's Encrypt SSL Certs location /.well-known/acme-challenge/ { root /var/www/letsencrypt; autoindex off; } }