我正在尝试在我们的标准 http 代理服务器上为我的公司环境的 ActiveMQ 管理页面设置代理。我有一个规则,允许我访问管理登录页面:
ProxyPass /foobar hostname:8161/admin ProxyPassReverse /foobar hostname:8161/admin
但是,转到“队列”页面会将我带到附加了唯一 session ID (admin/queues.jsp;jsessionid=oq37zgvxz4zkwliwdwddyon3) 的另一个页面,我希望也可以通过相同的 URL 访问该页面。

尝试在这些 proxypass 规则的末尾添加通配符 (*) 会破坏重定向。是否有我需要与此结合使用的重定向规则,以及如何获取该主机的任何字符串以通过此代理规则?

最佳答案

有基于正则表达式的 ProxyPassMatch,但 ProxyPass 进行前缀匹配(即 /foo 的 ProxyPass 也应该捕获 /foo/bar),因此您当前的规则应该可以正常工作。

可能是由于某种原因重定向 URL 与反向规则不匹配。我必须承认,当前端和后端上下文路径不同时,我从来没有设法让 Tomcat 的 ProxyPass 正常工作,所以我的建议是将后端应用程序部署在 hostname:8161/foobar 而不是 /admin 如果这是一个选项。

关于regex - 使用正则表达式进行 proxypass,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12810547/

10-09 23:21