我在apache反向代理(2.4)后面的Tomcat环境中运行了一个bonita门户应用程序。
我的虚拟主机中的当前配置对于https://www.mybonita.com/bonita/之类的网址工作正常:
ProxyPass /bonita http://localhost:8080/bonita
ProxyPassReverse /bonita http://localhost:8080/bonita
我现在要做的是让它适用于以下网址: https://www.mybonita.com/或至少https://www.mybonita.com/myapp/
我做了这个新配置
ProxyPass /myapp http://localhost:8080/bonita
ProxyPassReverse /myapp http://localhost:8080/bonita
但它给了我“在此服务器上找不到请求的URL / bonita /。”
所以我修改为:
ProxyPass /myapp/ http://localhost:8080/bonita/
ProxyPassReverse /myapp/ http://localhost:8080/bonita/
那更好,我可以看到登录页面,但网址如下: https://www.mybonita.com/bonita/login.jsp?redirectUrl=%2Fbonita%2Fportal%2Fhomepage 然后当我想登录时,我有一个404错误页面....
然后,我尝试添加此行
ProxyPassReverse /myapp /bonita
一开始看起来好一点(不再有404错误......没有'bonita'的网址了)...... 但我无法登录...页面总是登录页面,没有特别的错误信息...
那么,让Bonita门户在具有个性化URL的apache反向代理后面工作的正确配置是什么?
答案 0 :(得分:1)
我是这样做的:
RewriteEngine on
RewriteRule "^(?!/bonita)(.*)$" "/bonita$1" [R,L]
RewriteRule "^/(.*)" "http://127.0.0.1:8080/$1" [P]
ProxyPassReverse "/" "http://127.0.0.1:8080/"