nginx: servers: managed: theos.kyriasis.com: enabled: True config: - server: - server_name: theos.kyriasis.com - listen: 80 default_server - listen: '[::]:80 default_server' - location /.well-known/acme-challenge: - root: /srv/http - location /: - return: '301 https://$server_name$request_uri' - server: - server_name: theos.kyriasis.com - listen: 443 ssl http2 - listen: '[::]:443 ssl http2' - ssl: 'on' - ssl_certificate: /etc/letsencrypt/live/theos.kyriasis.com/fullchain.pem - ssl_certificate_key: /etc/letsencrypt/live/theos.kyriasis.com/privkey.pem - ssl_dhparam: /etc/nginx/dhparam.pem - ssl_stapling: 'on' - ssl_stapling_verify: 'on' - ssl_trusted_certificate: /etc/letsencrypt/live/theos.kyriasis.com/fullchain.pem # https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security - add_header: 'Strict-Transport-Security "max-age=31536000"' # Tell browsers not to render the page inside a frame, and avoid clickjacking. - add_header: X-Frame-Options SAMEORIGIN # Tell browsers to not try to auto-detect the Content-Type. - add_header: X-Content-Type-Options nosniff # Enable the Cross-site scripting filter in most recent browsers. # Normally enabled by default, but enable it anyway if user has disabled it. - add_header: 'X-XSS-Protection "1; mode=block"' # http://www.gnuterrypratchett.com/ - add_header: 'X-Clacks-Overhead "GNU Terry Pratchett"' - error_log: /var/log/nginx/theos.error.log - root: /srv/http - index: index.html - autoindex: 'on' - location /repo/: - root: /home/kyrias/packaging - autoindex: 'on' - location /~kyrias: - alias: /home/kyrias/public_html/ - index: index.html - expires: modified +24h - location = /~kyrias/journal/10-mercurian-pronouns.html: - return: '301 https://web.archive.org/web/https://theos.kyriasis.com/~kyrias/journal/10-mercurian-pronouns.html' - location ^~ /~kyrias/static: - alias: /home/kyrias/code/kyrias-website/kyrias_website/static/ - expires: +30d - location ^~ /~kyrias/d: - autoindex: 'on' - location /~xanadu: - alias: /home/xanadu/public_html/ - index: index.html - try_files: $uri $uri.html $uri/ =404 - autoindex: 'on' - expires: modified +24h - location /vector: - alias: /home/kyrias/code/vector/public/ - try_files: $uri $uri.html $uri/ =404 - location /znc: - proxy_pass: https://127.0.0.1:6697 - proxy_redirect: 'off' - proxy_set_header: X-Real-IP $remote_addr - proxy_set_header: X-Forwarded-For $proxy_add_x_forwarded_for - proxy_set_header: X-Forwarded-Host $server_name - server: - server_name: h.theos.kyriasis.com - listen: 80 - listen: '[::]:80' - error_log: /var/log/nginx/theos.error.log - root: /srv/http - index: index.html - autoindex: 'on' - location /repo/: - root: /home/kyrias/packaging - autoindex: 'on' - location /~kyrias: - alias: /home/kyrias/public_html/ - index: index.html - try_files: $uri $uri.html $uri/ =404 - autoindex: 'on' - expires: modified +24h - location = /~kyrias/journal/10-mercurian-pronouns.html: - return: '301 https://web.archive.org/web/https://theos.kyriasis.com/~kyrias/journal/10-mercurian-pronouns.html' - location ~ \.(js|css|png): - expires: modified +7d - location /~xanadu: - alias: /home/xanadu/public_html/ - index: index.html - try_files: $uri $uri.html $uri/ =404 - autoindex: 'on' - expires: modified +24h - location /vector: - alias: /home/kyrias/code/vector/public/ - try_files: $uri $uri.html $uri/ =404 - location /znc: - proxy_pass: https://127.0.0.1:6697 - proxy_redirect: 'off' - proxy_set_header: X-Real-IP $remote_addr - proxy_set_header: X-Forwarded-For $proxy_add_x_forwarded_for - proxy_set_header: X-Forwarded-Host $server_name # vim: ft=yaml et: