2012-07-10 96 views
1

我有三個Web服務(WAR files_從在Tomcat的託管在第三方供應商的每個Web服務將有一個不同的URL(如website1.com,website2.com,website3.com)和從我所做的研究和POC工作,這可以通過使用虛擬主機來實現Tomcat配置 - 多臺主機

兩個問題:1, 我想限制訪問兩個Web服務,使他們只能通過訪問內部IP地址。如何才能做到這一點? 2.每個web服務具有可運行檢查服務是否工作正常(它輪詢數據庫狀態檢查方法和運行一些對Web服務的方法)。當它檢查Web服務上的方法時,它使用localhost稱它。但是,我的Tomcat配置設置爲使用主機名稱,因此失敗。我怎樣才能解決這個問題,同時仍然將每個Web服務綁定到一個主機名?

這裏是從Tomcat server.xml文件中的主機配置:

<Host name="website1.com" appBase="adminapps" unpackWARs="true" autoDeploy="true"> 
    </Host> 

    <Host name="website2.com" appBase="packagingapps" unpackWARs="true" autoDeploy="true"> 
    </Host> 

    <Host name="website3.com" appBase="fulfillmentapps" unpackWARs="true" autoDeploy="true"> 
    </Host> 

回答

1

對於第一部分請執行下列操作之一:

  • 設置防火牆規則限制訪問IP地址 的白名單。
  • 一個簡單的HTTP模塊將工作。只是硬編碼(或配置)的 允許的IP /主機,並拒絕所有其他人。

對於第二部分:

  • 只是更改爲:

    <Host name="http://localhost:8080/yourWebName appBase="packagingapps" unpackWARs="true" autoDeploy="true">
    </Host>

+0

感謝。如果我在第二部分中提到了您提到的更改,那麼當有人訪問website2.com時,如何將流量導向正確的主機?上面不會限制只能訪問本地主機嗎?我想要能夠從website2.com和本地主機 – Tariq 2012-07-10 08:04:34

+0

@Tariq打網址我不認爲你可以同時擁有:本地和獨立主機。無論如何,當你只是限制了內部IP地址爲您服務的機會背後有什麼使它成爲一個域名主機像website2.com點? – GingerHead 2012-07-11 14:58:01