server { listen 80; server_name _; root /usr/share/nginx/html; index index.html; # Keine Zugriffsprotokolle: Besucher-IPs werden nicht gespeichert # (so steht es auch in der Datenschutzerklaerung). Fehler weiter melden. access_log off; # Komprimieren: HTML/CSS/JS/SVG kommen deutlich kleiner beim Besucher an gzip on; gzip_comp_level 6; gzip_min_length 512; gzip_vary on; gzip_proxied any; gzip_types text/plain text/css text/xml application/xml application/javascript application/json application/ld+json image/svg+xml; # Saubere URLs. Unbekannte Adressen bekommen eine echte 404 statt der # Startseite (sonst wertet Google sie als "Soft 404" / doppelte Inhalte). location / { try_files $uri $uri/ $uri.html =404; } error_page 404 /404.html; # Astro legt gehashte Assets unter /_astro ab -> lange cachen location /_astro/ { expires 1y; add_header Cache-Control "public, immutable"; } # Schriften, Bilder, Videos: aendern sich selten location ~* \.(woff2|webp|jpg|jpeg|png|svg|ico|mp4)$ { expires 7d; add_header Cache-Control "public"; } }