Nginx-Config-Generator

Der Nginx-Config-Generator erstellt einen nginx server block mit HTTPS-Weiterleitung, Let's Encrypt, gzip, Sicherheits-Headern und wahlweise PHP-FPM oder Reverse Proxy.

    nginx-Konfiguration

    Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

    nginx-Server-Block Schritt für Schritt

    Der Nginx-Config-Generator schreibt einen vollständigen nginx server block für Ihre Domain: Weiterleitung von HTTP auf HTTPS, einheitliche Adresse mit oder ohne www, Root-Verzeichnis, Logdateien, Upload-Grenze, gzip-Kompression, Sicherheits-Header und das Caching statischer Dateien. Je nach Art der Website ergänzt er try_files für statische Seiten und Single-Page-Apps, einen fastcgi_pass-Block für PHP oder einen Reverse Proxy zu einem App-Server wie Node.js, Python oder Go, auf Wunsch mit WebSocket-Unterstützung.

    Die HTTPS-Weiterleitung erfolgt mit return 301 in einem eigenen Server-Block auf Port 80, das ist schneller und klarer als Rewrite-Regeln. Für Zertifikate von Let's Encrypt setzt der Generator die Pfade, die certbot unter /etc/letsencrypt/live/ anlegt. Zum ersten Ausstellen eignet sich certbot --nginx -d example.de, das die Konfiguration selbst anpasst, oder certbot certonly --webroot. HSTS ist absichtlich zunächst aus: Schalten Sie es erst ein, wenn HTTPS auf allen Subdomains zuverlässig läuft.

    Speichern Sie die Datei unter /etc/nginx/sites-available/ mit Verweis in sites-enabled oder unter /etc/nginx/conf.d/, prüfen Sie sie mit nginx -t und laden Sie nginx mit systemctl reload nginx neu. Achtung: Setzt ein location-Block eigene add_header-Zeilen, gelten die Header des Server-Blocks dort nicht mehr; der Generator vermeidet das. Grenzen: Pfade wie snippets/fastcgi-php.conf stammen aus Debian und Ubuntu. Weitere Header für das Caching baut der Cache-Control-Generator.

    Anleitung: Nginx-Config-Generator in 5 Schritten

    1. Die Domain eintragen und die www-Variante wählen.
    2. Die Art der Website festlegen (statische Dateien, Single-Page-App, PHP über PHP-FPM oder Reverse Proxy) und Root-Verzeichnis, PHP-FPM-Socket oder Proxy-Ziel ergänzen.
    3. Zertifikat (Let's Encrypt oder eigene Pfade), HTTP/2, maximale Upload-Größe und Caching statischer Dateien einstellen.
    4. Optionen wie HTTPS-Weiterleitung, IPv6, gzip-Kompression, Sicherheits-Header, HSTS oder WebSockets an- oder abwählen.
    5. Die nginx-Konfiguration kopieren oder als .conf herunterladen, mit nginx -t prüfen und nginx neu laden.

    Typische Anwendungsfälle

    • Node.js- oder Python-App veröffentlichen: nginx als Reverse Proxy vor einen App-Server setzen, auf Wunsch mit WebSockets.
    • Single-Page-App ausliefern: React- oder Vue-Builds mit Fallback auf index.html, damit direkte Aufrufe von Unterseiten funktionieren.
    • PHP-Website: Einen Server-Block mit PHP-FPM für WordPress oder ein anderes PHP-System erzeugen.
    • Neuer Server: HTTPS-Weiterleitung, einheitliche www-Variante und gzip in einem Schritt einrichten.
    Fragen

    Häufige Fragen

    Wo speichere ich die nginx-Konfiguration?

    Unter Debian und Ubuntu meist in /etc/nginx/sites-available/ mit einem symbolischen Link nach /etc/nginx/sites-enabled/, bei anderen Systemen in /etc/nginx/conf.d/ mit der Endung .conf. Danach mit nginx -t prüfen und mit systemctl reload nginx neu laden.

    Wie leite ich HTTP auf HTTPS um?

    Mit einem eigenen Server-Block für Port 80, der nur return 301 https://$host$request_uri; enthält. Der Generator setzt dabei direkt die Zieldomain ein, damit auch die www-Weiterleitung in einem Schritt erfolgt.

    Was ist der Unterschied zwischen http2 on und listen … http2?

    Seit nginx 1.25.1 wird HTTP/2 mit der eigenen Anweisung http2 on; aktiviert; der Parameter http2 an listen gilt als veraltet und erzeugt eine Warnung. Ältere Versionen verstehen nur die alte Schreibweise.

    Warum fehlen meine Sicherheits-Header bei manchen Dateien?

    add_header wird nur vererbt, wenn ein location-Block selbst keine add_header-Zeile hat. Sobald dort ein eigener Header steht, müssen alle Header wiederholt werden. Die erzeugte Konfiguration setzt deshalb in den location-Blöcken keine eigenen Header.

    Brauche ich für WebSockets eine besondere Einstellung?

    Ja. Der Reverse Proxy muss HTTP/1.1 verwenden und die Header Upgrade und Connection weiterreichen. Der Generator ergänzt dafür eine map-Anweisung und die passenden proxy_set_header-Zeilen.

    Wie behebe ich den nginx-Fehler 413 Request Entity Too Large?

    Die Upload-Grenze client_max_body_size ist zu klein; ohne Angabe erlaubt nginx 1 MB. Setzen Sie im Generator die maximale Upload-Größe höher, prüfen Sie mit nginx -t und laden Sie nginx neu. Bei PHP müssen zusätzlich upload_max_filesize und post_max_size passen.

    Wie verlängere ich das Let's-Encrypt-Zertifikat für nginx?

    certbot richtet bei der Installation meist einen Timer oder Cronjob ein, der Zertifikate automatisch erneuert; testen Sie das mit certbot renew --dry-run. Bei certonly --webroot muss nginx danach neu geladen werden, etwa mit --deploy-hook "systemctl reload nginx".

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 358 Werkzeuge