我们的IT正在尝试配置新的apache / jboss / apj设置。
当我浏览http://domain.com/jboss/test.jsp时
和System.out.println request.getRequestURL()
我得http://domain.com/test.jsp (没有jboss)
由于这个原因,我的应用程序遇到了很多404.
IT部门表示,由于代理,Jboss没有/ jboss / url部分的概念。他们是正确配置还是我需要更改我的代码。对我来说,如果我必须硬编码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之间没有“/”
中的错误(在Apache中,而不是jboss)
response.sendRedirect("/login.jsp?message=You have successfully logged off.");
File does not exist: /WEB/wwwssl/login.jsp
请注意AppName缺失
答案 0 :(得分:1)
请注意,article you mention使用mod_proxy_html
(ProxyHTMLURLMap ProxyHTMLURLMap / /ajp/nocluster/
),它会修复使用正确路径前缀的链接。这不是Apache Httpd提供的默认mod_proxy
模块的一部分。
使用单行语法可以正确转发路径,而不是将这些指令放在<Location>
块中:
ProxyPass /jboss balancer://cluster stickysession=JSESSIONID