nginx-Konfiguration Beispiele: Proxy, TLS, Limit
nginx ist ein Webserver und Reverse-Proxy, der über Konfigurationsdateien mit server- und location-Blöcken gesteuert wird. Die Beispiele zeigen einen Reverse-Proxy auf eine lokale Anwendung, die Umleitung von HTTP auf HTTPS, einen TLS-Server, Kompression, Ratenbegrenzung, Sicherheits-Header sowie Logformat und Fehlerlog-Zeile. Schlüsselpfade sind Platzhalter, Domains reserviert.
8 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf. Darunter: 1× Öffentliches Beispiel, 4× Reservierter Bereich.
nginx log_format combined (Definition)Öffentliches Beispiel
log_format combined '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
Feldreihenfolge des Combined-Formats: Adresse, Benutzer, Zeit, Anfrage, Status, Bytes, Referer, User-Agent.
nginx-Fehlerlog: Datei nicht gefundenReservierter Bereich
2026/10/09 08:16:01 [error] 1234#1234: *5 open() "/var/www/html/fehlt.html" failed (2: No such file or directory), client: 192.0.2.11, server: example.com, request: "GET /fehlt.html HTTP/1.1", host: "example.com"
Format: Datum, [Stufe], PID#TID, *Verbindung, Meldung, client, server, request, host.
nginx.conf: Reverse-Proxy auf lokale AnwendungReservierter Bereich
server { listen 80; server_name example.com www.example.com; …Leitet an Port 3000 weiter.
nginx.conf: HTTP auf HTTPS umleitenReservierter Bereich
server { listen 80; server_name example.com www.example.com; …Permanente Weiterleitung.
nginx.conf: TLS-Server (Pfade als Platzhalter)Reservierter Bereich
server { listen 443 ssl; http2 on; …Schlüsseldateien nur als Pfad, kein Schlüssel. „http2 on;“ gilt ab nginx 1.25.1.
nginx.conf: Kompression
gzip on; gzip_comp_level 5; gzip_min_length 256; …
Gängige gzip-Einstellungen.
nginx.conf: Ratenbegrenzung
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s; location /api/ { …10 Anfragen pro Sekunde je Adresse, Antwortcode 429.
nginx.conf: Sicherheits-Header setzen
add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header mit always, damit auch Fehlerseiten die Header erhalten.