无法在apache反向代理

时间:2018-02-16 21:23:31

标签: apache tomcat reverse-proxy bonita

我在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反向代理后面工作的正确配置是什么?

1 个答案:

答案 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/"