После установки Zimbra у меня есть веб-клиент, работающий на портах 8443 и 8080. На самой машине я могу получить доступ, используя
http://localhost:8443
Я хочу разрешить пользователям доступ к этому веб-клиенту через обратный прокси-сервер. Корневой веб-контекст уже используется, поэтому я хочу обслуживать веб-клиент через папку. Так например
https://www.mydomain.com/webmail
который является прокси для
https://localhost:8443/webmail
Для этой настройки, я думаю, мне нужно изменить веб-контекст веб-клиента Zimbra, чтобы он запускался из
https://localhost:8443/webmail
и нет
http://localhost:8443
Zimbra CLI позволяет менять порт, но я не обнаружил изменения контекста. Это возможно? Как мне это сделать?
Нет, эта конфигурация не существует в zimbra. Служба HTTP в zimbra не может работать в веб-контексте, как указано выше.
Вместо изменения веб-контекста Zimbra вы можете использовать Apache для изменения ответа Zimbra, используя mod_proxy_html.
Этот модуль предоставляет выходной фильтр для перезаписи HTML-ссылок в ситуации прокси, чтобы гарантировать, что ссылки работают для пользователей за пределами прокси. Он служит той же цели, что и директива Apache ProxyPassReverse для заголовков HTTP, и является важным компонентом обратного прокси.
Например, если у компании есть сервер приложений на appserver.example.com, который виден только из внутренней сети компании, и общедоступный веб-сервер www.example.com, они могут пожелать предоставить шлюз к серверу приложений на http://www.example.com/appserver/. Когда сервер приложений ссылается на себя, эти ссылки необходимо переписать, чтобы они работали через шлюз. mod_proxy_html служит для перезаписи foobar к foobar делая его доступным извне.
Это решение основано на этот ответ и этот блог.
По соображениям производительности я предлагаю вам протестировать эту конфигурацию. Самое большое узкое место будет в mod_proxy_http, потому что этот модуль будет выполнять поиск и замену при каждом запросе. См. Комментарий о его производительности в Вот.