[英]Apache - Tomcat ProxyPass VirtualHost - Context Path
我在為tomcat中具有兩個不同上下文路徑的兩個應用程序配置apache tomcat ProxyPass指令時遇到問題。 tomcat在apache后面運行,我使用apache代理路徑請求tomcat。 在apache中,我想通過主機名而不是上下文路徑訪問這兩個應用程序。
場景:
tomcat的
https://domain:8443/app1
https://domain:8443/app2
在tomcat中,應用程序具有上下文路徑app1和app2
在apache中我想啟用兩個應用程序如下:
https://app1.host/
https://app2.host/
在apache中,我為每個域創建了一個配置:
ProxyPass / https://localhost:8443/app1
ProxyPassReverse / https://localhost:/8443/app1
奇怪的是app1只能通過apache使用上下文路徑:
https://app1.host/app1
是否可以使用apache ProxyPass模塊實現這樣的設置?
謝謝你的幫助。
您應該能夠通過使用虛擬主機來實現所需的結果。 另外,通過AJP協議而不是HTTPS將請求傳遞給tomcat是個好主意。 嘗試將其添加到Apache配置中
NameVirtualHost *:443
<VirtualHost *:443>
ServerName app1.host
ProxyPass / ajp://localhost:8009/app1/
</VirtualHost>
<VirtualHost *:443>
ServerName app2.host
ProxyPass / ajp://localhost:8009/app2/
</VirtualHost>
如果您尚未更改Tomcat的默認服務器設置,則應該可以正常工作。 否則,請確保指定在Tomcat的conf / server.xml文件中配置的AJP端口。 應該有一個類似於這樣的行:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
確保在Apache配置中加載了mod_proxy和mod_proxy_ajp模塊,這可能因Apache安裝而異。 同時刪除任何先前配置的“ProxyPass / ...”行,因為它們會干擾新配置。 希望這對你有用。
你可以試試
ProxyPass / https://localhost:8443/app1/
ProxyPassReverse / https://localhost:8443/app1/
與決賽/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.