我在我的java代码中使用HttpUrlConnection类。
在我的环境中,连接代码从不会遇到任何HTTP 504错误。而在我的一个客户环境中,它会抛出HTTP 504错误。
用谷歌搜索504是什么。基于那已经指示客户检查网络/机器中的代理,防火墙设置。但他声称所有环境都很好。 我该如何调试问题。
任何建议都将不胜感激。
答案 0 :(得分:0)
504网关超时 - 服务器充当网关或代理,但未从上游服务器收到及时响应
您可以查看HTTP服务器日志,并查看请求是否正在命中您的服务器。
如果没有,那么客户端和您之间的某些代理就没有耐心等待服务器的响应或遇到网络问题。
如果是,那么您的应用程序服务器(Tomcat,Ruby,Node.js,...)可能会停止请求或无法访问。
504是否间歇性退回(经常或罕见)或您的客户根本无法访问您的网络资源会很有趣。如果这对您的客户来说是一个大问题,您应该安装某种端到端监控器。
BTW如果流量是HTTP而不是HTTPS,您可以在网络中的不同点上嗅探它。在Solaris上,您可以使用snoop
,以及其他Linux / * nix操作系统tcpdump
或wireshark
。 Wireshark带有一个非常好的GUI,您可以在另一台机器上查看使用tcpdump进行的转储。