【问题标题】:Nginx+Tomcat - 504 timeout [closed]Nginx + Tomcat - 504超时[关闭]
【发布时间】:2012-11-08 09:25:15
【问题描述】:

我们在 nginx 上收到很多请求,其中一些没有到达 tomcat 我们刚刚在 Nginx 上收到错误 504 超时,但在 Tomcat 上什么也没有

我们的配置 Nginx 将流量路由到安装了 tomcat 7 的虚拟服务器(Windows Server)

我们无法弄清楚问题出在哪里 我想如果是 tomcat 的问题,我们至少应该在 tomcat 日志上看到来自 nginx 的请求

【问题讨论】:

    标签: tomcat nginx timeout


    【解决方案1】:

    504 Gateway Timeout 错误可能是网络问题造成的,即 - 连接根本无法到达您的 Tomcat 服务器,例如由于某种原因被您的防火墙丢弃。在这种情况下,即使假设它正确记录了它能够记录的所有内容,Tomcat 日志中也没有任何内容是正常的。

    此外,在某些系统上可能无法获取有关在侦听队列中被客户端关闭的连接的信息,但不确定 Windows。在任何情况下,我都不希望 Tomcat 默认记录此类连接。

    在它的错误日志中,nginx 将尝试提供有关超时发生点的更多信息。如果 Tomcat 日志中没有任何内容,我预计会出现类似 ... while connecting to upstream ... 的内容,这通常表示网络问题或侦听队列溢出,如上所述。

    【讨论】:

    • 其实应该不是网络问题,我们用的是Nginx和tomcat之间的局域网连接
    • "shoudn't" 和"not" 有细微的差别,在实践中经常碰到。特别是,由于 nginx 和后端之间的状态防火墙,我已经多次看到类似的问题 - 要么它耗尽状态并开始丢弃新连接,要么它具有已经关闭的连接状态并在主机尝试重用时丢弃数据包相同的地址元组。不要猜测,查看日志并使用 tcpdump/wireshark 看看线路上发生了什么。
    • 你是对的,我们的防火墙只允许每台主机 100 个连接。谢谢
    猜你喜欢
    • 2013-02-13
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 2011-10-04
    • 2019-10-22
    • 2019-12-02
    相关资源
    最近更新 更多