Proxy Error 502 : The proxy server received an invalid response from an upstream server

JavaEmailProxyTomcat6

Java Problem Overview


We are building a mass mailing sending application in Java. Mail is being send by third party SMTP. After sending 400-500 mails tomcat6 service get stopped. Below is the error.

> 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. > Reason: Error reading from remote server

Additionally, a 502 Bad Gateway error was encountered while trying to use an ErrorDocument to handle the request.

Apache Server at msizzler.com Port 80

But when we are sending from localhost I did not received any error. It send all the mails. Please help me to sort it out this problem.

Java Solutions


Solution 1 - Java

The HTTP 502 "Bad Gateway" response is generated when Apache web server does not receive a valid HTTP response from the upstream server, which in this case is your Tomcat web application.

Some reasons why this might happen:

  • Tomcat may have crashed
  • The web application did not respond in time and the request from Apache timed out
  • The Tomcat threads are timing out
  • A network device is blocking the request, perhaps as some sort of connection timeout or DoS attack prevention system

If the problem is related to timeout settings, you may be able to resolve it by investigating the following:

  • ProxyTimeout directive of Apache's mod_proxy
  • Connector config of Apache Tomcat
  • Your network device's manual

Solution 2 - Java

Add this into your httpd.conf file

Timeout 2400
ProxyTimeout 2400
ProxyBadHeader Ignore 

Solution 3 - Java

The java application takes too long to respond(maybe due start-up/jvm being cold) thus you get the proxy error.

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.

As Albert Maclang said amending the http timeout configuration may fix the issue. I suspect the java application throws a 500+ error thus the apache gateway error too. You should look in the logs.

Solution 4 - Java

I had this issue once. It turned out to be database query issue. After re-create tables and index it has been fixed.

Although it says proxy error, when you look at server log, it shows execute query timeout. This is what I had before and how I solved it.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRanjeet RanjanView Question on Stackoverflow
Solution 1 - JavarmeakinsView Answer on Stackoverflow
Solution 2 - JavaAlbert MaclangView Answer on Stackoverflow
Solution 3 - JavaAnthony HuntView Answer on Stackoverflow
Solution 4 - JavaCincyBellaView Answer on Stackoverflow