为什么Tomcat拒绝来自其他服务器的连接?

问题描述:

我有服务器A向服务器B发出请求。我尝试了php的file_get_contents和curl;都拒绝连接。我试图在服务器B上连接到Tomcat应用程序为什么Tomcat拒绝来自其他服务器的连接?

连接确实工作,如果我让到google.com的请求,或者对服务器B另一个应用程序,是不是在Tomcat应用程序。

这使我相信有一些特定于我的tomcat安装,拒绝来自服务器A的请求。我可以提供更多信息来帮助解决问题?

有没有办法在tomcat中将我的服务器A加入白名单,以便连接被接受?或作为最后的手段,我会如何接受所​​有要求?

编辑:我也想补充一点,当我从本地开发机器连接到服务器B的连接工作得很好。

+0

错误状态/消息究竟是什么?它不只是需要登录或会话或有效的UA吗? – BalusC 2010-12-10 18:09:21

+0

file_get_content表示“无法打开流:连接被拒绝”。我将如何给它一个会议? – Steve 2010-12-10 18:27:00

+0

反正Tomcat正在运行并投入到网络中?即你可以通过网页浏览器访问它?按照您的编辑,听起来很像Tomcat正在本地机器上运行,并且您使用'http:// localhost'从PHP主机连接它。你确定你没有犯这个错误吗? – BalusC 2010-12-10 19:01:36

从服务器A,你的测试到google.com或服务器B的其他应用程序可能使用80端口。很多防火墙不允许交通上奇怪的端口像8089.

如果您不能更改防火墙规则以允许访问serverB:8089,我认为正确的方法是通过服务器B Web服务器代理请求。因此,服务器A将请求“serverB:80/yourproxyurl”,服务器B上的Web服务器将与本地主机上的tomcat服务器通信,并输出响应。据我所知,这就是Tomcat Connectors的用途。

+0

YES!端口号是问题!我将其更改为591(另一个官方HTTP端口),它的工作原理非常完美!谢谢! – Steve 2010-12-10 20:41:50