2010-12-16 56 views
0

我有一個JBoss 5.1.0GA實例,配置了'localhost'主機和一個額外的主機'X'。有沒有辦法完全禁用本地主機,以便所有請求都會失敗,除非它們用於主機X?在JBoss 5(或Tomcat 5.5)中禁用'localhost'主機

我想請確保被部署在任何應用程序不被暴露,除非它是專門部署到主機X.

我試圖去除的jbossweb.sar/server.xml引擎部分的「localhost」,但這似乎沒有效果。我仍然可以通過向http://localhost:8080(沒有Host標頭集)發出請求連接到應用程序(例如ROOT.war)。

回答

0

啓動JBoss並將-b標誌明確設置爲主機X

默認行爲是僅在localhost聽,所以,如果服務器當前正在偵聽兩個localhostX,那麼它一定是被明確配置的話,最有可能通過使用-b 0.0.0.0。將0.0.0.0更改爲您要收聽的特定主持人。

+0

感謝您的建議skaffman,不幸的是這不會在我這裏工作。 Host X實際上並不是一個真正的主機名,它可以通過將'Host'頭設置爲'X'來聯繫虛擬主機的名稱。 我不能使用-b綁定到X,因爲它不存在。 – joelittlejohn 2010-12-17 11:42:50

+0

@japher:我的觀點依然存在。如果您不希望JBoss綁定到主機上的每個IP地址,則需要使用'-b'來告訴它要綁定哪個IP地址。 – skaffman 2010-12-17 12:18:25

+1

你在哪裏添加-b x.x.x.x? – Alex 2012-08-24 17:25:42

0

嘗試將localhost映射到除回送IP地址以外的內容。

將此更改爲您的C:\Windows\system32\drivers\etc\hosts文件中的其他內容。

localhost 127.0.0.1

你可能想給X的IP地址來代替上述127.0.0.1的!