簡體   English   中英

Tomcat 7拒絕連接

[英]Connection refused with Tomcat 7

我在Jelastic上運行了一個Tomcat實例,並且有兩個部署的應用程序 - 用於'/ foo'上下文和'/ bar'上下文。

在處理對'/ foo'的請求期間,我們對'/ bar'進行HTTP請求(用於授權),並且此處始終存在異常 - ConnectException:ConnectionRefused。

如果我通過瀏覽器或在我的本地PC上運行的代碼連接到'/ bar',一切都很完美。 此外,如果我從服務器(在處理請求到'/ foo'期間)連接到位於不同位置的主機,一切都按預期工作。 看起來Tomcat以某種方式過濾來自同一主機的傳入連接。 有人知道該怎么辦嗎?

“連接被拒絕”消息表示某些內容無法在傳輸級別打開網絡連接。 這很可能意味着您嘗試與之通信的服務未在偵聽連接嘗試中使用的特定IP和端口號上的新連接。

校驗:

  1. 被拒絕的請求使用正確的IP和端口號。
  2. 您的tomcat服務已正確配置為偵聽該IP和端口。

請記住,您的系統可能有多個IP地址,您需要收聽您希望使用的每個IP地址。 還要記住,“本地主機”通常是不同的IP地址。

如果以上都不是問題:

  1. 如果網絡級別或本地防火牆可能阻塞流量,請檢查。
  2. 如果由於復雜的虛擬網絡導致“陌生”的可能性,請檢查。

看起來Tomcat以某種方式過濾來自同一主機的傳入連接。

Tomcat不像那樣“過濾”。 但是很有可能你沒有配置tomcat來監聽請求。 檢查“server.xml”文件以查看是否已正確配置。


FWIW - 我不認為這是Tomcat7 CSRF過濾器。 根據文檔,這將返回HTTP響應。 事實上,我無法看到接收Tomcat中的任何內容如何通過除了不首先監聽連接之外的任何方式產生“連接被拒絕”狀態。

連接拒絕絕對意味着網絡問題。 其中一個潛在的原因是您的應用程序嘗試使用http標頭“host”值等建立連接,並且通常標題“host”值不包含8080端口字符串-BUT- tomcat在Jelastic正在端口8080上運行,所以您可以嘗試連接到您的第二個應用程序強制指定端口8080或聯系您的支持並要求他們設置iptables規則,將所有請求(在您的tomcat容器內)從80重定向到8080端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM