我有一个 bonita 门户应用程序在 Apache 反向代理 (2.4) 后面的 Tomcat 环境中运行。
我的虚拟主机中的当前配置对于像 https://www.mybonita.com/bonita/ 这样的 url 工作正常:
ProxyPass /bonita http://localhost:8080/bonita
ProxyPassReverse /bonita http://localhost:8080/bonita
我现在想做的是让它与 url 一起工作,例如: 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/
那好多了,我可以看到登录页面,但是 url 是这样的: https://www.mybonita.com/bonita/login.jsp?redirectUrl=%2Fbonita%2Fportal%2Fhomepage 然后当我想登录时,出现 404 错误页面....
然后,我尝试添加这一行
ProxyPassReverse /myapp /bonita
一开始看起来更好(没有更多的 404 错误......一个没有'bonita'的网址)...... 但我无法登录...该页面总是出现在登录页面,没有特定的错误消息...
那么,让 Bonita 门户在具有个性化 URL 的 apache 反向代理后面工作的正确配置是什么?
最佳答案
我是这样做的:
RewriteEngine on
RewriteRule "^(?!/bonita)(.*)$" "/bonita$1" [R,L]
RewriteRule "^/(.*)" "http://127.0.0.1:8080/$1" [P]
ProxyPassReverse "/" "http://127.0.0.1:8080/"
关于apache - 无法为 Apache 反向代理后面的 Bonita soft 指定 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48835057/