Nginx-Config-Generator
Baue aus einfachen Schaltern einen kompletten nginx-Server-Block, live in deinem Browser. Deine Eingaben bleiben auf deinem Gerät.
Deine Domain, Pfade und Zertifikatsorte werden nur in deinem Browser zum Bauen der Konfiguration verwendet, die nie hochgeladen wird. Vermeide es dennoch, echte private-Schlüssel-Inhalte in irgendein Tool einzufügen.
Brauchst du Dateiberechtigungen für dein Web-Root? Probiere den Chmod-Rechner.
Über Nginx-Config-Generator
Dieser nginx-Config-Generator verwandelt eine Handvoll Eingaben und Schalter in einen kompletten, gültigen nginx-Server-Block, den du in sites-available einfügen kannst. Wähle eine statische Website (root + index mit try_files) oder einen Reverse Proxy (proxy_pass mit den Standard-Headern Host, X-Real-IP, X-Forwarded-For und X-Forwarded-Proto, plus optionale WebSocket-Upgrade-Zeilen). Schalte SSL ein, um auf 443 zu lauschen, verdrahte ssl_certificate und ssl_certificate_key und gib einen zweiten Server-Block aus, der HTTP mit einem 301 auf HTTPS umleitet. Füge gzip, langlebiges Caching für statische Assets, ein client_max_body_size-Limit und einen kanonischen www-zu-Nicht-www-Redirect mit je einem Klick hinzu. Als nginx-Config-Generator hält er Klammern ausbalanciert und die Einrückung sauber und lässt dich dann das Ergebnis kopieren oder als <domain>.conf herunterladen. Alles läuft in deinem Browser, sodass deine Domain und Pfade auf deinem Gerät bleiben.
Funktionen
- Modus für statische Websites mit root, index und einem try_files-Location-Block
- Reverse-Proxy-Modus mit proxy_pass und Standard-proxy_set_header-Zeilen
- Optionale WebSocket-Unterstützung über proxy_http_version, Upgrade- und Connection-Header
- SSL-Schalter, der listen 443 ssl plus einen HTTP→HTTPS-301-Redirect-Server hinzufügt
- gzip-Block, abgestimmt auf Text, JSON, JavaScript, CSS, XML und SVG
- Caching-Location für statische Assets mit expires und immutable Cache-Control
- client_max_body_size-Eingabe und www↔Nicht-www-kanonische Redirects
- Kopiere den Server-Block oder lade ihn als example.com.conf herunter
So verwendest du Nginx-Config-Generator
- Gib deine Domain und deinen Listen-Port ein und wähle statische Website oder Reverse Proxy.
- Fülle root und index aus oder den proxy_pass-Upstream für deine App.
- Schalte SSL, gzip, Caching, Body-Größe und einen www-Redirect nach Bedarf um.
- Lies die Live-nginx-Konfiguration auf der rechten Seite, dann Kopieren oder die .conf Herunterladen.
Beispiel
Eingabe
Domain: example.com
Mode: Reverse proxy
Upstream: http://127.0.0.1:3000
SSL: on
Ausgabe
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Ein Reverse Proxy auf 443 mit dem passenden HTTP→HTTPS-Redirect-Block.
Häufige Fehler & Fehlerbehebung
- nginx -t meldet "cannot load certificate" oder der SSL-Block startet nicht. — Richte ssl_certificate auf deine fullchain-Datei und ssl_certificate_key auf den passenden privaten Schlüssel und stelle sicher, dass beide Pfade existieren und für nginx lesbar sind.
- Eine per Reverse Proxy bediente App zeigt die falsche Client-IP oder bricht hinter HTTPS. — Behalte die generierten proxy_set_header-Zeilen, damit Host, X-Real-IP, X-Forwarded-For und X-Forwarded-Proto deinen Upstream erreichen, und lies sie in deiner App aus den richtigen Headern.
- WebSocket-Verbindungen brechen mit einem 400 ab oder können nicht upgraden. — Aktiviere die WebSocket-Unterstützung, sodass die Location proxy_http_version 1.1 mit den von nginx benötigten Upgrade- und Connection-"upgrade"-Headern hinzufügt.
- Große Uploads liefern 413 Request Entity Too Large. — Setze client_max_body_size auf einen Wert über deinem größten Upload, zum Beispiel 20M oder 100M, und lade nginx neu.
Häufig gestellte Fragen
- Wie richte ich einen Reverse Proxy in nginx ein?
- Wähle Reverse Proxy, gib deinen Upstream in proxy_pass ein (zum Beispiel http://127.0.0.1:3000), und der Generator fügt einen location /-Block mit den Standard-Headern Host, X-Real-IP, X-Forwarded-For und X-Forwarded-Proto hinzu. Aktiviere die WebSocket-Unterstützung, wenn deine App ws/wss nutzt.
- Wo liegen nginx-Server-Blöcke?
- Unter Debian und Ubuntu speicherst du die generierte Datei als /etc/nginx/sites-available/example.com und verlinkst sie symbolisch nach sites-enabled. Bei vielen anderen Distros legst du sie in /etc/nginx/conf.d/example.com.conf, führst dann nginx -t aus und lädst neu.
- Wie verändert der SSL-Schalter die Konfiguration?
- Er stellt den Haupt-Server auf listen 443 ssl um, fügt ssl_certificate und ssl_certificate_key hinzu und gibt einen zweiten Server-Block auf Port 80 aus, der jede Anfrage mit einem 301 auf https:// umleitet, sodass Besucher immer auf der sicheren Website landen.
- Was ist der Unterschied zwischen einer statischen Website und einem Reverse Proxy hier?
- Der statische Modus liefert Dateien aus einem root-Verzeichnis mit index und einer try_files-Location, ideal für HTML, SPAs oder gebaute Assets. Der Reverse-Proxy-Modus leitet Anfragen mit proxy_pass und Proxy-Headern an einen Upstream-App-Server weiter, statt Dateien auszuliefern.
- Kann ich gzip und Caching für statische Assets hinzufügen?
- Ja. Der gzip-Schalter fügt einen abgestimmten gzip-Block für Text, JSON, JavaScript, CSS, XML und SVG hinzu, und der Caching-Schalter fügt eine Location hinzu, die ein 30-Tage-expires und einen immutable Cache-Control-Header für gängige Asset-Endungen setzt.
- Wird meine Domain oder Konfiguration irgendwohin gesendet?
- Nein. Dieser nginx-Config-Generator läuft vollständig in deinem Browser, sodass die eingegebenen Domains, Pfade und Zertifikatsorte auf deinem Gerät verarbeitet werden und die generierte Datei nie hochgeladen wird.
Verwandte Tools
Alle ArrayKit-Tools