SocketTimeoutException:NGINX配置读取超时

时间:2020-03-26 13:06:43

标签: java sockets nginx timeout

我有以下设置:

curl >> NGINX >> Java Client >> ELB >> NGINX >> Java Server

常规记录运行正常,超过60秒钟的请求失败,并显示SocketTimeoutException: Read timed out。我尝试逐步调试:

  • 服务器响应 200 ,大​​约需要100秒
  • 服务器前面的Nginx日志 499 (客户端已停止连接)
  • Java客户端和Nginx日志 400 :SocketTimeoutException:读取超时

我尝试减少两个Nginx的proxy_read_limit,从而导致504 Gateway timeout。 ELB限制为240秒。

我没有访问客户端应用程序的权限,因为它是.jar,可以安全地假设问题是.jar中的超时设置,因此我无法自行解决问题吗? 另外,在这种情况下,我很难理解谁是客户。

1 个答案:

答案 0 :(得分:0)

是的,确实听起来像“ Java客户端”中的超时设置被设置为小于100秒。如果客户端编写良好,则可以通过参数或配置文件更改超时参数。不知道细节是不可能多说的。

也许可以解决该问题,方法是使服务器发送“虚拟”数据包,使连接对客户端显示为活动状态。