我有多個Tomcat服務器。在每個tomcat中,我加載所有圖像。我想將圖像從Tomcat移動到Apache並從那裏訪問圖像。配置從Apache獲取圖像
我的問題是:是否有任何配置從Apache而不是Tomcat的Java Web應用程序中獲取圖像?
我有多個Tomcat服務器。在每個tomcat中,我加載所有圖像。我想將圖像從Tomcat移動到Apache並從那裏訪問圖像。配置從Apache獲取圖像
我的問題是:是否有任何配置從Apache而不是Tomcat的Java Web應用程序中獲取圖像?
我不這麼認爲 - 圖像通過解析它們的URL來顯示,並且在大多數情況下它是相對於當前頁面的。
但是你可以使用mod_proxy(或mod_jk)通過Apache使用所有的tomcat。
隱藏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,這應該是足有整個安裝起來運行。
您錯過了一個至關重要的事實:圖像不是由服務器請求的,而是由客戶端請求的。該請求通過HTTP URL發生。您只需修改圖片網址即可。 – BalusC 2010-06-21 13:36:48