Die Nginx-Reverse-Proxy-Patterns, die wir tatsächlich in Produktion fahren
18. Mai 2026 · 1 Min. Lesezeit · von Sudhanshu K.
Die meisten Nginx-Reverse-Proxy-Konfigs in Produktion sind ein Copy-Paste aus jemandes Blog von 2017. Es funktioniert, irgendwie. Keep-Alive zum Backend ist aus, also öffnet jede Anfrage eine neue Verbindung. Die X-Forwarded-For-Kette ist falsch, also loggt die App die falsche Client-IP. proxy_buffering ist standardmäßig an, was bei gestreamten Responses Latenz hinzufügt. Keiner davon ist ein dramatischer Ausfall — es sind langsame, stetige Steuern, die Sie nur bemerken, wenn Sie sich hinsetzen und lesen, was Sie deployt haben.
Dies ist die Reverse-Proxy-Konfig, die wir auf den Edge jedes Kunden kopieren.
Der mindestens funktionsfähige Upstream-Block
upstream app {
server 10.0.1.10:8080 max_fails=3 fail_timeout=15s;
server 10.0.1.11:8080 max_fails=3 fail_timeout=15s;
keepalive 32;
keepalive_requests 1000;
keepalive_timeout 60s;
}
location / {
proxy_pass http://app;
proxy_http_version 1.1;
proxy_set_header Connection "";
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;
proxy_read_timeout 60s;
}Das keepalive 32 + Connection "" ist nicht verhandelbar. Ohne das machen Sie bei jeder Anfrage einen TCP-Handshake zum Backend — und bei hohem internem RPS verdoppelt das die Latenz ohne Grund.
Der vollständige Beitrag behandelt:
- Die X-Forwarded-For-Kette — und der
real_ip_header-Block, der die App die richtige IP sehen lässt proxy_bufferingvs gestreamte Responses (Server-Sent Events, große Downloads)- Healthchecks: passiv (
max_fails/fail_timeout) vs aktiv (kommerzielles Nginx Plus oderngx_http_upstream_check_module) proxy_next_upstream— wann Retries helfen und wann sie doppelte Writes verursachen- Body-Size-Limits (
client_max_body_size) und wo sie Uploads beißen - Das TLS-to-Backend-Pattern, wenn Sie es tatsächlich wollen
Wir liefern diese Konfig auf jeder gemanagten Nginx-Installation aus.
Vollständiger Artikel verfügbar
Vollständigen Artikel lesen