apache - 无法为 Apache 反向代理后面的 Bonita soft 指定 URL

标签 apache tomcat reverse-proxy bonita

我有一个 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/

相关文章:

web-services - 为什么我的本地网站无法访问我本地的 REST 服务?

windows - 什么是最简单的 Tomcat/Apache 连接器 (Windows)?

如果文件不存在,Apache 重写,检查另一个目录

apache - AngularJS : Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource

Apache、Tomcat 和 SSL : ProxyPass and ProxyPassReverse

azure - Traefik 与 Service Fabric — 无法连接到 Service Fabric 服务器

java - 在 apache 反向后面使用 java/GWT 的站点无法正常工作

apache - CORS Access-Control-Allow-Origin 缓存问题

tomcat - Drupal-Tomcat 单点登录

java - tomcat相对路径设置