Files

52 lines
1.7 KiB
Plaintext

# Host-nginx-Serverblock für die statisch deployte Seite (/var/www/sites/website).
#
# Installation auf 10.161.30.38:
# sudo cp deploy/site.nginx.conf /etc/nginx/conf.d/nsu-map.conf
# sudo nginx -t && sudo systemctl reload nginx
#
# Der Nginx Proxy Manager (Port 80/443) legt sich davor: Proxy-Host anlegen,
# Ziel → http://127.0.0.1:8080 (Websockets nicht nötig).
# Ohne Proxy Manager: unten einfach "listen 8080;" auf "listen 80;" ändern.
server {
listen 8080;
listen [::]:8080;
server_name _;
root /var/www/sites/website;
index index.html;
# Sicherheits-Header
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# Kompression
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css application/javascript application/json
image/svg+xml application/xml application/rss+xml
font/woff2 application/font-woff;
# Statische Assets lange cachen (CSS/JS sind fingerprinted)
location ~* \.(?:css|js|woff2?|ttf|otf|eot|svg|png|jpe?g|gif|webp|ico)$ {
expires 30d;
add_header Cache-Control "public, max-age=2592000, immutable";
access_log off;
try_files $uri =404;
}
# HTML nicht cachen, damit Inhaltsänderungen sofort sichtbar sind
location ~* \.html?$ {
add_header Cache-Control "no-cache";
try_files $uri =404;
}
# Pretty-URLs: /schauplaetze/ -> /schauplaetze/index.html
location / {
try_files $uri $uri/ =404;
}
# Gebrandete 404-Seite
error_page 404 /404.html;
}