Hoe Los Je De Fout "Nginx Upstream Prematurely Closed Connection While Reading Response Header From Upstream" Op?

Gepubliceerd 30 augustus 2024

Probleem: Nginx Upstream Verbindingsfout

De "Nginx upstream prematurely closed connection while reading response header from upstream" fout treedt op wanneer Nginx geen volledig antwoord kan krijgen van een upstream server. Dit probleem kan webapplicaties en -diensten onderbreken. Het leidt vaak tot onvolledige of mislukte verzoeken, wat de prestaties en betrouwbaarheid van het systeem beïnvloedt.

Oplossing: Nginx Configuratie Aanpassen

Timeout instellingen verhogen

Om de "Upstream Prematurely Closed Connection" fout te verhelpen, kunt u de timeout instellingen in uw Nginx configuratie aanpassen:

  • Wijzig proxy_read_timeout: Deze instelling regelt hoe lang Nginx wacht tot de upstream server gegevens verstuurt. Verhoog deze waarde om meer tijd toe te staan voor grote antwoorden:
proxy_read_timeout 300s;
  • Pas proxy_connect_timeout aan: Deze instelling bepaalt hoe lang Nginx wacht om een verbinding met de upstream server tot stand te brengen. Verhoog deze waarde als uw upstream server langer nodig heeft om te reageren:
proxy_connect_timeout 75s;
  • Stel send_timeout in: Deze instelling specificeert hoe lang Nginx wacht tot de client gegevens accepteert. Pas deze waarde aan op basis van de behoeften van uw applicatie:
send_timeout 60s;

Tip: Monitoren en aanpassen

Nadat u wijzigingen aan de timeout instellingen heeft aangebracht, monitor dan de prestaties van uw server en pas de waarden indien nodig aan. Begin met conservatieve verhogingen en verfijn geleidelijk op basis van uw specifieke vereisten en verkeerspatronen.

Buffer instellingen optimaliseren

Het optimaliseren van buffer instellingen kan helpen de "Upstream Prematurely Closed Connection" fout te voorkomen:

  • Configureer proxy_buffers: Deze instelling bepaalt het aantal en de grootte van buffers voor het lezen van het antwoord van de upstream server. Pas deze waarden aan op basis van de middelen van uw server en typische antwoordgroottes:
proxy_buffers 8 16k;
  • Pas proxy_buffer_size aan: Deze instelling specificeert de grootte van de buffer die wordt gebruikt voor het lezen van het eerste deel van het antwoord van de upstream server. Verhoog deze waarde voor grotere headers:
proxy_buffer_size 32k;
  • Verfijn large_client_header_buffers: Deze instelling regelt het maximale aantal en de grootte van buffers die worden gebruikt voor het lezen van grote client verzoek headers. Pas deze waarden aan als u te maken heeft met verzoeken die grote headers bevatten:
large_client_header_buffers 4 32k;

Door deze Nginx configuratie-instellingen aan te passen, kunt u vaak de "Upstream Prematurely Closed Connection" fout verhelpen en het vermogen van uw server verbeteren om grote antwoorden en complexe verzoeken af te handelen.