2009-09-21 74 views
0

我有一個Tomcat應用程序充當Sun Systems Connect的網絡服務器/網關(它本身就是系統聯盟帳戶的入口,我懷疑它是通向幸福的門戶)。Tomcat是否接受IP?

只要我使用機器名稱(或localhost),我就可以通過瀏覽器訪問應用程序的登錄頁面。 但機器IP和本地主機都不允許我查看登錄頁面。

太陽告訴我這是Tomcat的一個'功能'。不幸的是,開發和生產中的賬戶機器具有相同的名稱(不同的域),所以我不知道我是否在開發或活動框中運行測試。 可以強制Tomcat接受IPs嗎?

回答

0

自從我使用Tomcat以來已經有一段時間了,但我認爲默認情況下您可以通過名稱或IP地址調用Web服務。我不知道這是否會有所幫助,但是您可以嘗試在server.xml(例如,英文)中爲IP地址設置virtual host。添加一個節像

<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true"> 

,但用「本地主機」與您的機器的IP地址。

1

Tomcat不知道有關IP的任何信息。 IP只被視爲主機名。您需要確保配置允許IP。你有幾個選擇來實現這一點。

如果爲引擎添加defaultHost,則任何不匹配的主機名或IP都將使用此虛擬主機。例如,

<Engine name="Standalone" defaultHost="example.com"> 

如果你想要更多的控制,還可以添加IP作爲別名,就像

<Host appBase="webapps" name="example.com"> 
    <Alias>192.168.1.2</Alias> 
</Host> 

還有很多其他的原因,一個IP可能被拒絕,

  1. SSL不允許IP,因爲證書不知道有關IP地址的任何信息。
  2. 如果您在Apache或前端交換機上使用虛擬主機,它通常基於您使用的主機名的決定,並且它不知道如何路由IP。
  3. 您可能有一些安全過濾器或規則來檢查HTTP中的主機頭,並特別拒絕來自未知主機的請求。

查看日誌可能會顯示確切的原因。