[英]how to set java web application's context root when working with reverse proxy
我在apache中使用mod_jk並在tomcat中配置虛擬主機的舊方法在JSP文件中,我參考以下CSS
/ <%=request.getContextPath()%>/css/styles.css
而首頁鏈接設置為
/<%=request.getContextPath()%>/
因此,當我在apache中使用mod_jk與使用ajp的tomcat一起工作時,此方法很好用;
ProxyPass / http:// localhost:800 / mywebapp
ProxyPassReverse / http:// localhost:800 / mywebapp
可以很好地檢索主頁,但是css請求變為http://mydomain.com/mywebapp/mywebapp/css/style.css,因此無法正確檢索css文件;
所以我想知道如何在Java Web中設置contextroot並與反向代理一起正常工作?
多謝
據我所知,您的應用程序服務器(Tomcat)無法識別反向代理的存在。 一般來說,可以通過任意數量的反向代理或直接通過瀏覽器聯系它。 通常使用網絡配置來限制此設置,而不是HTTP或Java。
因此,您必須准確地依靠相對URL才能使您的應用程序正常運行。
當我不得不處理反向代理存在時(幾乎總是由於SSO體系結構),我嵌入了一個“連接”配置字符串項(代理中用於映射應用程序的URL的一部分),並僅在以下位置使用它我需要建立一個絕對URL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.