"It works on my machine" ist nicht genug
Moderne Frontend-Frameworks wie Astro oder React stellen spezifische Anforderungen an den Webserver. Standard-Konfigurationen führen oft zu MIME-Type Fehlern bei ES-Modulen, schlechtem Caching oder Sicherheitslücken. Ziel war eine "Production-Grade" Umgebung.
MIME-Type Hölle
Standard NGINX erkennt `.mjs` Dateien oft nicht korrekt als Javascript, was zum Absturz von Astro-Apps führt.
Sicherheits-Risiken
Ohne explizite Security-Headers sind Nutzer anfällig für XSS und Clickjacking Attacken (fehlendes HSTS/CSP).
Ineffizientes Caching
Die "Cache Everything" Strategie verhindert, dass Nutzer sofort Updates sehen. "Cache Nothing" macht die Seite langsam.
Single Page Routing
Bei direktem Aufruf von Unterseiten (z.B. /kontakt) liefert ein Standard-Server 404 Fehler statt der App.
Lösungsansätze
1. Intelligente "Split-Caching" Strategie
# 1. HTML: Never Cache (Fresh Content)
location ~* \.(html|json)$ {
expires -1;
add_header Cache-Control "no-store, must-revalidate";
}
# 2. Assets: Cache Forever (Performance)
location ^~ /assets/ {
expires 1y;
add_header Cache-Control "public, immutable, no-transform";
access_log off; # Save disk I/O
}2. Security Hardening & Compression
# Hardened Security Headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin";
# Maximum Compression
gzip_comp_level 9;
gzip_types text/plain application/javascript image/svg+xml;IPv6 Ready
Zukunftssichere Konfiguration durch Dual-Stack Support (IPv4 & IPv6 listeners) für maximale Erreichbarkeit.
Astro Fixes
Erzwungene MIME-Types für `.mjs` und `.avif` Dateien, die von älteren NGINX Versionen oft falsch ausgeliefert werden.
SPA Fallback
`try_files $uri /index.html` garantiert, dass Deep-Links und Browser-Refresh in Single Page Apps funktionieren.
Custom 404
Interner Redirect auf eine statische `404.html`, um Server-Signatur zu verbergen und UX zu erhalten.
Bereit für den nächsten Schritt?
Unverbindlich, strukturiert und ohne Verkaufsdruck
Bereit für den nächsten Schritt?
Beschreiben Sie kurz Ihr Vorhaben. Sie erhalten eine konkrete Ersteinschätzung zu Machbarkeit, Budget und Timeline — in der Regel innerhalb von 24h.
Ihre Daten sind sicher (DSGVO-konform). Keine Kaltakquise.