我的webapp使用JSP / JavaScript / google可视化,并在64位Windows服务器上的Tomcat 7上运行,并且有足够的资源专用于此应用程序。它仍在测试中,因此,我可以控制负载。
问题是当我在服务器的同一网络上从设备工作时,一切正常。但是当我使用来自不同网络的设备工作需要花费很长时间(超过6分钟)时,在服务器中的处理正在进行并成功完成后等待6分钟后,我得到服务不可用[503]消息。我检查了Tomcat日志,但我找不到任何东西似乎工作正常。我尝试了不同的解决方案,但没有与我一起工作:
我通过在conf / server.xml中设置Tomcat的Connector属性进行了实验。我使用了connectionTimeout和keepAliveTimeout的所有组合和范围。
最终配置是:
<Connector port="80" protocol="HTTP/1.1"
address="0.0.0.0"
connectionTimeout="3600000"
redirectPort="8443" />
我想知道是否有其他人遇到过这样的问题,以及他们是如何解决的。
答案 0 :(得分:0)
我认为你的server.xml有错误的数据。将连接器端口从80更改为8080,它始终允许四位数,从8080开始不确定。请更新如下
<Connector port="8080" protocol="HTTP/1.1"
address="0.0.0.0"
connectionTimeout="3600000"
redirectPort="8443" />
503服务不可用
由于服务器临时过载或维护,服务器当前无法处理请求。这意味着这是一个暂时的条件,经过一段时间的延迟后会得到缓解。如果已知,则可以在Retry-After报头中指示延迟的长度。如果没有给出Retry-After,客户端应该像处理500响应一样处理响应。
注意:503状态代码的存在并不意味着a 服务器必须在变得过载时使用它。有些服务器可能希望 简单地拒绝连接。click here以获取更多信息 如果您遇到任何问题,请告诉我