Zum Inhalt springen
EdgeServers
Blog

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_buffering vs gestreamte Responses (Server-Sent Events, große Downloads)
  • Healthchecks: passiv (max_fails/fail_timeout) vs aktiv (kommerzielles Nginx Plus oder ngx_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