2010-12-10 51 views
0

我有服務器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

回答

1

從服務器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