我在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的方法是什么,并且反向代理也可以正常工作?
很多答案 0 :(得分:0)
据我所知,您的应用程序服务器(Tomcat)无法识别反向代理存在。一般来说,可以通过任意数量的反向代理或直接通过浏览器联系它。网络配置通常用于限制,而不是HTTP或Java。
因此,您必须准确地依赖相对URL才能使您的应用程序正常运行。
当我必须处理反向代理存在(几乎总是由于SSO架构)时,我嵌入了一个“联结”配置字符串项(代理中用于映射应用程序的URL部分)并在只有我需要建立绝对URL的地方。