代理错误502:代理服务器从上游服务器收到无效响应

Ran*_*jan 49 java email proxy tomcat6

我们正在用Java构建一个群发邮件发送应用程序.邮件由第三方SMTP发送.发送400-500邮件后tomcat6服务停止.以下是错误.

代理服务器错误代理服务器从上游服务器收到无效响应.代理服务器无法处理请求GET /lin/Campaignn.jsp.原因:从远程服务器读取时出错

此外,尝试使用ErrorDocument处理请求时遇到502 Bad Gateway错误.

位于msizzler.com端口80的Apache服务器

但是当我们从localhost发送时,我没有收到任何错误.它发送所有邮件.请帮我解决这个问题.

rme*_*ins 48

当Apache Web服务器未从上游服务器(在本例中为您的Tomcat Web应用程序)接收到有效的HTTP响应时,将生成HTTP 502"Bad Gateway"响应.

可能发生这种情况的一些原因:

  • Tomcat可能已经崩溃了
  • Web应用程序没有及时响应,Apache的请求超时
  • Tomcat线程超时
  • 网络设备阻止请求,可能是某种连接超时或DoS攻击防范系统

如果问题与超时设置有关,您可以通过调查以下内容来解决此问题:


小智 34

将其添加到httpd.conf文件中

Timeout 2400
ProxyTimeout 2400
ProxyBadHeader Ignore 
Run Code Online (Sandbox Code Playgroud)

  • 试试为什么?你对这可能起作用的原因有何解释? (22认同)
  • 这对于使用 apache 2.4 运行的 Tomcat8 应用程序来说效果很好,其中操作明显不时超时。 (2认同)
  • 根据Apache文档"超时"语法实际上是"TimeOut",对于任何可能有所帮助的人来说. (2认同)

小智 6

我曾经遇到过这个问题。原来是数据库查询问题。重新创建表和索引后,它已修复。

虽然它说代理错误,但当您查看服务器日志时,它显示执行查询超时。这就是我之前遇到的情况以及我是如何解决的。

  • 我刚才也遇到了类似的问题。除了我收到代理错误之外,因为我不小心用另一个站点的连接字符串覆盖了我的数据库的连接字符串......现在我感到很愚蠢。这个职业既精彩又痛苦>.< (4认同)

Ant*_*unt 5

java 应用程序需要很长时间才能响应(可能是由于启动/jvm 很冷),因此您会收到代理错误。

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.
Run Code Online (Sandbox Code Playgroud)

正如 Albert Maclang 所说,修改 http 超时配置可能会解决这个问题。我怀疑 java 应用程序抛出 500+ 错误,因此 apache 网关错误。你应该查看日志。