www/etc/nginx/sites-available/xyzzy.ee.conf
2025-07-06 08:07:28 -05:00

109 lines
3.3 KiB
Text

# xyzzy.ee
# www.xyzzy.ee
server {
server_name xyzzy.ee;
root /var/xyzzy/html/plugh;
index index.html;
location / {
try_files $uri $uri/ =404;
}
listen [::]:443 ssl default_server; # managed by Certbot
listen 443 ssl default_server; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/xyzzy.ee/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xyzzy.ee/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# x-clacks-overhead
include /etc/nginx/sites.d/clacks.conf;
# https://ssl-config.mozilla.org/
add_header Strict-Transport-Security "max-age=15724800" always;
# https://observatory.mozilla.org
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Content-Security-Policy "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';";
}
server {
server_name www.xyzzy.ee;
root /var/xyzzy/html/plugh;
index index.html;
location ~ /\.well-known {
allow all;
}
location ~ / {
return 301 $scheme://xyzzy.ee$request_uri;
}
listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/xyzzy.ee/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/xyzzy.ee/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# x-clacks-overhead
include /etc/nginx/sites.d/clacks.conf;
# https://ssl-config.mozilla.org/
add_header Strict-Transport-Security "max-age=15724800" always;
# https://observatory.mozilla.org
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Content-Security-Policy "default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self'; frame-ancestors 'self';";
}
server {
# x-clacks-overhead
include /etc/nginx/sites.d/clacks.conf;
if ($host = xyzzy.ee) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name xyzzy.ee;
root /var/xyzzy/html/plugh;
index index.html;
return 404; # managed by Certbot
}
server {
# x-clacks-overhead
include /etc/nginx/sites.d/clacks.conf;
if ($host = www.xyzzy.ee) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name www.xyzzy.ee;
root /var/xyzzy/html/plugh;
index index.html;
return 404; # managed by Certbot
}
server {
# x-clacks-overhead
include /etc/nginx/sites.d/clacks.conf;
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://xyzzy.ee$request_uri;
}