我们的 IT 正在尝试配置新的 apache/jboss/apj 设置。
当我浏览到 http://domain.com/jboss/test.jsp
和 System.out.printlnrequest.getRequestURL()
我得到http://domain.com/test.jsp (没有 jboss)
因此,我的应用程序遇到了很多 404。
IT 部门表示,Jboss 因为代理,所以没有 URL 的 /jboss/ 部分的概念。他们是正确配置还是我需要更改我的代码。对我来说,如果我必须硬编码 url 路径,我的代码是不可移植的。
编辑-
这是他们告诉我的:
<Location /jboss>
ProxyPass balancer://cluster stickysession=JSESSIONID
ProxyPassReverse https://domain.com/jboss/
</Location>
本文支持我的问题 https://sosiouxme.wordpress.com/2010/08/18/fixing-apache-httpd-reverse-proxy-redirect-rewrites/
Edit2 在我们的旧服务器上,在几个应用程序使用的登录框架 servlet 中,我有 response.sendRedirect("login.jsp?message=您已成功注销。");
为了让新代理能够正常工作,我必须将其重新编码为 response.sendRedirect("/jboss/AppName/login.jsp?message=您已成功注销。");
我失去了后一种语法的可移植性和可重用性。
注意的错误(在 Apache,而不是 jboss 中)
response.sendRedirect("login.jsp?message=You have successfully logged off.");
File does not exist: /WEB/wwwssl/AppNamelogin.jsp
在我的 appname 和 login.jsp 之间没有“/”
注意 AppName的错误(在 Apache 中,而不是 jboss 中)
response.sendRedirect("/login.jsp?message=You have successfully logged off.");
File does not exist: /WEB/wwwssl/login.jsp
丢失