Proxyfout 502: de proxyserver heeft een ongeldig antwoord ontvangen van een upstream-server

We bouwen een toepassing voor het verzenden van massamailing in Java. E-mail wordt verzonden via SMTP van derden. Na het verzenden van 400-500 e-mails wordt de tomcat6-service gestopt. Hieronder staat de fout.

Proxy-fout
De proxyserver heeft een ongeldig antwoord ontvangen van een upstream-server. De proxyserver kon het verzoek GET . niet verwerken
/lin/Campagne.jsp.
Reden: Fout bij lezen van externe server

Bovendien is er een 502 Bad Gateway-fout opgetreden tijdens het gebruik van een ErrorDocument om het verzoek af te handelen.

Apache Server op msizzler.com Poort 80

Maar toen we verzenden vanaf localhost, heb ik geen enkele fout ontvangen. Het stuurt alle e-mails.
Help me alstublieft dit probleem op te lossen.


Antwoord 1, autoriteit 100%

Het HTTP 502 “Bad Gateway”-antwoord wordt gegenereerd wanneer de Apache-webserver geen geldig HTTP-antwoord ontvangt van de upstream-server, in dit geval uw Tomcat-webtoepassing.

Enkele redenen waarom dit kan gebeuren:

  • Tomcat is mogelijk gecrasht
  • De webapplicatie heeft niet op tijd gereageerd en het verzoek van Apache is verlopen
  • De Tomcat-threads hebben een time-out
  • Een netwerkapparaat blokkeert het verzoek, misschien als een soort verbindingstime-out of DoS-aanvalpreventiesysteem

Als het probleem te maken heeft met time-outinstellingen, kunt u het mogelijk oplossen door het volgende te onderzoeken:

  • ProxyTimeoutrichtlijn van Apache’s mod_proxy
  • Connector-configuratie van Apache Tomcat
  • De handleiding van uw netwerkapparaat

Antwoord 2, autoriteit 83%

Voeg dit toe aan uw httpd.conf-bestand

Timeout 2400
ProxyTimeout 2400
ProxyBadHeader Ignore 

Antwoord 3, autoriteit 10%

De Java-toepassing duurt te lang om te reageren (misschien omdat het opstarten/jvm koud is), dus u krijgt de proxy-fout.

Proxy Error
The proxy server received an invalid response from an upstream server.
 The proxy server could not handle the request GET /lin/Campaignn.jsp.

Zoals Albert Maclang al zei, kan het probleem worden opgelost door de http-time-outconfiguratie aan te passen.
Ik vermoed dat de Java-toepassing een 500+-fout genereert, dus ook de apache-gateway-fout. Je zou in de logs moeten kijken.


Antwoord 4, autoriteit 8%

Ik heb dit probleem ooit gehad. Het bleek een databasequery-probleem te zijn. Na het opnieuw maken van tabellen en index is het opgelost.

Hoewel er proxyfout staat, wordt in het serverlogboek een time-out voor de query weergegeven. Dit is wat ik eerder had en hoe ik het heb opgelost.

Other episodes