Nginx-Konfigurationsgenerator – Serverblöcke & Reverse-Proxy

Wähle aus, was Nginx tun soll – eine statische Website oder ein SPA bereitstellen, als Proxy für eine Node-/Python-App fungieren oder PHP ausführen – und setze ein Häkchen bei den Zusatzoptionen. Du erhältst einen kommentierten, einsatzbereiten Serverblock mit HTTPS, www-Weiterleitungen, gzip, Caching und Sicherheits-Headers.

Aktualisiert am
nginx.conf

Speichern unter /etc/nginx/sites-available/example.com.conf, verknüpfe es mit sites-enabled, dann führe aus sudo nginx -t && sudo systemctl reload nginx.

Deine Daten verlassen nie deinen Computer. Die Verarbeitung erfolgt zu 100 % lokal im Browser.

So nutzt du: Nginx-Konfigurationsgenerator

  1. Wähle das Szenario aus: Statische Website, SPA (alle Routen werden auf index.html), Reverse-Proxy zu einer App auf einem Port oder PHP-FPM.
  2. Gib deine Domain, das Dokumentenverzeichnis oder die Upstream-Adresse ein und wähle aus, wie www behandelt werden soll.
  3. Setze ein Häkchen bei den Extras – HTTPS mit Let’s Encrypt-Pfaden, gzip, statisches Caching, Sicherheits-Header, WebSockets, Ratenbegrenzung.
  4. Kopiere die Konfiguration, teste sie mit nginx -t und lade Nginx neu.

Was jede Option bietet

OptionAnweisungen
HTTPSServer auf Port 80, der mit 301, listen 443 ssl, Certbot-Zertifikatpfade und den Speicherort der ACME-Challenge
SPAtry_files $uri $uri/ /index.html; damit clientseitige Routen keinen 404-Fehler zurückgeben
Reverse-Proxyproxy_pass sowie Host, X-Real-IP, X-Forwarded-For und X-Forwarded-Proto Header
WebSocketsproxy_http_version 1.1 mit Upgrade / Connection Header
gzipKomprimierung für Text, JSON, JS, CSS, SVG und Schriftarten
Statisches CachingEin Jahr Cache-Control: immutable für gehashtes Content, kurzer Cache für HTML
Sicherheits-HeaderX-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy
Ratenbegrenzunglimit_req_zone (im http Kontext) und limit_req mit einem Burst

Das Zertifikat abrufen

Erstelle zunächst die Konfiguration ohne HTTPS, lade Nginx neu und führe sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com — oder einfach sudo certbot --nginx. Schalte dann HTTPS ein, lade die Konfiguration neu und überprüfe das Ergebnis mit dem SSL-Checker, dem Redirect-Checker und dem Security-Headers-Checker.

Häufige Fehler

  • Fehlendes Semikolon – jede Anweisung endet mit ;. nginx -t zeigt die genaue Zeile an.
  • Vererbung bei `add_header` – ein add_header innerhalb eines location ersetzt alle Header auf Serverebene. Der Generator wiederholt Sicherheits-Header, wo nötig.
  • Abschließender Schrägstrich in „proxy_pass“ — proxy_pass http://app/; entfernt das „location“-Präfix, proxy_pass http://app; behält ihn bei.
  • Falsche MIME-Typen – Schriftarten oder .webmanifest werden als application/octet-stream; schau sie dir mit dem MIME-Typ-Lookup an.

Läuft es in Docker? Kombiniere es mit dem Docker-Compose-Generator.

Auch gesucht als: konfiguration des nginx-reverse-proxys, nginx-spa-konfiguration, nginx-serverblock, nginx https-weiterleitung, nginx-websocket-proxy, nginx-php-fpm-konfiguration, nginx www-weiterleitung.

Passende Tools zu: Nginx-Konfigurationsgenerator

  • Apache VirtualHost Generator — Get a complete Apache virtual host config for your domain: a static site, WordPress, PHP-FPM or a reverse proxy to a Node or Python app.
  • Caddyfile Generator — Caddy gets HTTPS certificates automatically — you only describe your site.
  • YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
  • Kubernetes YAML Generator — Fill in your app’s name, image and port and get production-ready Kubernetes YAML: a Deployment with probes, resource limits and a hardened security context, plus the Service, Ingress with TLS, ConfigMap, Secret and HorizontalPodAutoscaler you tick — in one file ready for kubectl apply.

Häufige Fragen

Wie teste ich eine Nginx-Konfiguration, bevor ich sie neu lade?
Führe „sudo nginx -t“ aus. Das Programm überprüft die Syntax und die Dateipfade und gibt die Zeile aus, in der ein Fehler auftritt. Führe den Reload (sudo systemctl reload nginx) erst durch, wenn die Meldungen „syntax is ok“ und „test is successful“ angezeigt werden.
Wie sorge ich dafür, dass eine React- oder Vue-App beim Aktualisieren der Seite weiterläuft?
Verwende das SPA-Szenario. Es fügt „try_files $uri $uri/ /index.html;“ hinzu, sodass jeder unbekannte Pfad mit „index.html“ beantwortet wird und der clientseitige Router übernimmt.
Wohin geht „limit_req_zone“?
„limit_req_zone“ muss im http-Kontext stehen (zum Beispiel in /etc/nginx/nginx.conf oder am Anfang einer dort eingebundenen Datei), nicht innerhalb von „server“. Der Generator fügt es mit einem Kommentar am Anfang der Datei ein; „sites-enabled“-Dateien werden standardmäßig in „http“ eingebunden.
Soll ich HSTS aktivieren?
Das funktioniert nur, wenn HTTPS auf der Domain und allen von dir angegebenen Subdomains funktioniert. Browser speichern HSTS für die Dauer der „max-age“-Einstellung, sodass ein ungültiges Zertifikat die Website dann unerreichbar macht. Fang mit einer kurzen „max-age“-Einstellung an.
Kann ich Nginx-Konfigurationsgenerator als Web-App installieren und offline nutzen?
Ja. Nginx-Konfigurationsgenerator ist eine installierbare Web-App (PWA) – sie wird über Ihren Browser installiert und nicht aus einem App-Store heruntergeladen. Klicken Sie oben auf dieser Seite in Chrome oder Edge (Windows, macOS, Linux, ChromeOS) auf „App installieren“ oder verwenden Sie auf Android-Geräten „Teilen“ → „Zum Startbildschirm hinzufügen“ auf dem iPhone und iPad bzw. „Datei“ → „Zum Dock hinzufügen“ in Safari 17+ auf einem Mac. Die App öffnet sich dann in einem eigenen Fenster mit einem eigenen Symbol, und da sie vollständig in Ihrem Browser ausgeführt wird, funktioniert sie auch offline. Firefox auf dem Desktop kann keine Web-Apps installieren. So funktioniert die Installation.

Ähnliche Tools