2010-06-21 67 views
0

我有多個Tomcat服務器。在每個tomcat中,我加載所有圖像。我想將圖像從Tomcat移動到Apache並從那裏訪問圖像。配置從Apache獲取圖像

我的問題是:是否有任何配置從Apache而不是Tomcat的Java Web應用程序中獲取圖像?

+1

您錯過了一個至關重要的事實:圖像不是由服務器請求的,而是由客戶端請求的。該請求通過HTTP URL發生。您只需修改圖片網址即可。 – BalusC 2010-06-21 13:36:48

回答

1

我不這麼認爲 - 圖像通過解析它們的URL來顯示,並且在大多數情況下它是相對於當前頁面的。

但是你可以使用mod_proxy(或mod_jk)通過Apache使用所有的tomcat。

1

隱藏Apache服務器背後的Tomcat服務器,然後你可以做這樣的事情:

<VirtualHost www.example.com:80> 
    ServerName  www.example.com 
    DocumentRoot /var/www/html 
    ProxyPass  /img ! 
    ProxyPass  /  ajp://localhost:1234/ 
</VirtualHost> 

Apache將服務/ IMG在/ var/www/html等/ IMG和其他請求都將被髮送到Tomcat 。這個配置需要mod_proxy_ajp apache模塊處於活動狀態。 Tomcat的一定要聽定端口AJP請求,使用方法:

<Connector port="1234" protocol="AJP/1.3" redirectPort="8443" address="127.0.0.1" URIEncoding="UTF-8" /> 

和配置Tomcat服務www.example.com或默認的虛擬主機。

<Host 
    name="www.example.com" 
    appBase="/path/to/tomcat/apps/www.example.com" 
    unpackWARs="true" 
    autoDeploy="true" 
    xmlValidation="false" 
    xmlNamespaceAware="false" 
/> 

<Host 
    name="localhost" 
    appBase="/path/to/tomcat/apps/www.example.com" 
    unpackWARs="true" 
    autoDeploy="true" 
    xmlValidation="false" 
    xmlNamespaceAware="false" 
/> 

部署你的web應用到/path/to/tomcat/apps/www.example.com/爲ROOT.war,這應該是足有整個安裝起來運行。