![更改 Zimbra Web 客户端上下文以进行反向代理配置](https://linux22.com/image/641599/%E6%9B%B4%E6%94%B9%20Zimbra%20Web%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%B8%8A%E4%B8%8B%E6%96%87%E4%BB%A5%E8%BF%9B%E8%A1%8C%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE.png)
安装 Zimbra 后,我在端口 8443 和 8080 上运行了一个 Web 客户端。在机器上,我可以使用
http://localhost:8443
我想允许用户通过反向代理服务器访问此 Web 客户端。根 Web 上下文已被使用,因此我想通过文件夹为 Web 客户端提供服务。例如
https://www.mydomain.com/webmail
这是代理
https://localhost:8443/webmail
对于此设置,我认为我需要更改 Zimbra Web 客户端的 Web 上下文,以便它可以从
https://localhost:8443/webmail
并不是
http://localhost:8443
Zimbra CLI 允许更改端口,但我没有发现上下文更改。这可能吗?我该怎么做?
答案1
不,该配置在 zimbra 中不存在。zimbra 上的 HTTP 服务无法在上述 Web 环境中运行。
相反,改变 Zimbra Web 上下文,你可以使用 Apache 来改变 Zimbra 响应mod_proxy_html。
此模块提供了一个输出过滤器,用于在代理情况下重写 HTML 链接,以确保链接对代理之外的用户有效。它的作用与 Apache 的 ProxyPassReverse 指令对 HTTP 标头的作用相同,是反向代理的重要组成部分。
例如,如果一家公司在 appserver.example.com 上有一个应用服务器,该服务器只能在公司内部网络内看到,并且还有一个公共网络服务器 www.example.com,那么他们可能希望提供一个网关,用于访问以下应用服务器:http://www.example.com/appserver/。当应用服务器链接到自身时,这些链接需要重写才能通过网关工作。mod_proxy_html 用于重写福巴到福巴使其可以从外部访问。
出于性能考虑,我建议您测试该配置。最大的瓶颈在于 mod_proxy_http,因为此模块将在每个请求中执行搜索和替换。有关其性能的评论请参见这里。