2016-04-20 61 views
1

我有一個WebSphere應用服務器8,在那裏我部署了一個企業應用程序。現在我想讓該應用程序的Web GUI可訪問。因此,我設置了一個端口(9080),添加了Web容器傳輸鏈,爲端口9080添加了一個虛擬主機,並將該虛擬主機添加到了我部署的應用程序中。但是,它不可達。使WebSphere在IPv4上偵聽

通過WebSphere的日誌挖掘,我發現了這個消息:

TCPC0001I: TCP Channel TCP_6 is listening on host * (IPv6) port 9080. 

因此很明顯,在通道上的IPv6監聽,而不是IPv4協議。我用netstat驗證了這一點,這確實表明服務器的進程只偵聽IPv6。我如何讓通道監聽IPv4而不是?我已經嘗試在服務器的JVM中設置java.net.preferIPv4Stack=true,但這並沒有改變任何東西。

有趣的是,Websphere的控制檯可以通過IPv4獲得,但我無法弄清楚它的哪部分配置不同,所以它可以正常工作,而我的安裝不是。

+0

TCP無法訪問(連接被拒絕?)還是別的? – covener

回答

3

在許多操作系統上,通配符地址(*::/0)上的IPv6套接字可以接受IPv4和IPv6連接。例如,Mac OS netstat會顯示這樣的插座,即tcp46以顯示它們是雙棧。其他操作系統(包括Linux)僅將它們顯示爲tcp6,即使它們也接受IPv4連接。

所以它可能在IPv4上收聽就好了,它只是一個令人困惑的向系統管理員顯示它的方式。

+0

這實際上是問題所在。不知道現在是否應該感到愚蠢,或者在netstat上咆哮。 – flyx

+0

工具真的應該對這樣一個普通的事情更有幫助...... –