【问题标题】:SocketTimeoutException: Read timed out with NGINX configurationSocketTimeoutException:使用 NGINX 配置读取超时
【发布时间】:2020-03-26 13:06:43
【问题描述】:

我有以下设置:

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 中的超时设置,因此我无法自己解决问题? 我也很难理解在这种情况下到底谁是客户。

【问题讨论】:

    标签: java sockets nginx timeout


    【解决方案1】:

    是的,听起来“Java 客户端”中的超时设置小于 100 秒。如果客户端写得好,也许可以通过参数或配置文件来改变超时参数。不知道细节就不能多说。

    也许可以通过让服务器发送“虚拟”数据包来解决此问题,从而使连接在客户端看来处于活动状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-28
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2017-06-04
      • 2014-08-26
      相关资源
      最近更新 更多