0

我在我的 java 代码中使用HttpUrlConnection类。

在我的环境中,连接代码从未遇到任何 HTTP 504 错误。而在我的一个客户环境中,它会引发 HTTP 504 错误。

谷歌搜索了 504 是什么。基于此,已指示客户检查网络/机器中的代理、防火墙设置。但他声称所有人在他们的环境中都很好。我该如何调试问题。

任何建议将不胜感激。

4

1 回答 1

0

504 Gateway Timeout - 服务器作为网关或代理,没有收到来自上游服务器的及时响应

您可以查看您的 HTTP 服务器日志并查看请求是否到达您的服务器。

如果没有,那么客户端和您之间的某些代理没有足够的耐心等待服务器的响应或遇到网络问题。

如果是,那么您的应用程序服务器(Tomcat、Ruby、Node.js,...)可能正在停止请求或无法访问。

如果 504 是间歇性返回(经常或很少),或者您的客户根本无法访问您的 Web 资源,这将是很有趣的。如果这对您的客户来说是个大问题,您应该安装某种端到端监视器。

顺便说一句,如果流量是 HTTP 而不是 HTTPS,您可以在网络中的不同点上嗅探它。在 Solaris 上您可以使用snoop,而在其他 Linux/*nix 操作系统tcpdumpwireshark. Wireshark 带有一个非常漂亮的 GUI,您可以在另一台机器上查看您使用 tcpdump 制作的转储。

于 2014-02-14T11:16:01.543 回答