首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对任意内部网站的反向代理?

对任意内部网站的反向代理?
EN

Server Fault用户
提问于 2012-05-10 23:52:55
回答 1查看 2.1K关注 0票数 1

我在webmail.domain.com和mailman.domain.com/mailman上安装了ZCS7.2开放源码。

我想设置一个代理,这样当有人转到webmail.domain.com/mailman时,代理就会提取mailman.domain.com/mailman的内容。

使用apache和mod_proxy,我可以做一些类似ProxyPass /mailman https://mailman.domain.com/mailman ProxyPassReverse /mailman https://mailman.domain.com/mailman之类的事情。

使用zimbra中的定制量,是否可以(也是明智的)对zimbra的web服务器进行同样的定制?所以基本上是一个反向代理转发到一个任意的内部网站。

EN

回答 1

Server Fault用户

发布于 2012-05-29 13:49:00

遵循以下链接:http://www.maxxer.it/2010/linux/set-apache2-to-proxy-zimbra/

很长一段时间以来,我已经成功地使用Apache2代理了Zimbra。

这些命令在Debian/Ubuntu服务器上工作。

首先,启用apache2‘S模块:

代码语言:javascript
复制
a2enmod proxy
a2enmod proxy_html
a2enmod proxy_http

通过更改/etc/apache2/mods_available/proxy.conf,确保允许使用mod_proxy

代码语言:javascript
复制
Allow from all

在本例中,我希望代理SSL,因此在启动之前,您需要将Zimbra从端口443移开(我移到了444)。将您的Zimbra证书文件复制到apache可访问的目录中。我选择/etc/apache2/ssl。

为了允许从/zimbra自动重定向/重定向到您的常规,将以下行添加到您的主节中:

代码语言:javascript
复制
RedirectMatch ^/$ /zimbra/
Then, edit you apache2 config file and add:

SSLProxyEngine on
SSLCertificateFile /etc/apache2/ssl/host.crt
SSLCertificateKeyFile /etc/apache2/ssl/host.key
SSLCACertificateFile /etc/apache2/ssl/ca_bundle.crt
ProxyRequests On
ProxyPreserveHost On
ProxyVia full
<Location "/service">
  ProxyPass https://your_zimbra_ip:444/service
  ProxyPassReverse https://your_zimbra_ip:444/service
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /service /service
</Location>

<Location "/zimbra">
  ProxyPass https://your_zimbra_ip:444/zimbra
  ProxyPassReverse https://your_zimbra_ip:444/zimbra
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /zimbra /zimbra
</Location>

<Location "/home">
  ProxyPass https://your_zimbra_ip:444/home
  ProxyPassReverse https://your_zimbra_ip:444/home
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /home /home
</Location>

# CalDAV
<Location "/principals">
  ProxyPass https://your_zimbra_ip:444/principals
  ProxyPassReverse https://your_zimbra_ip:444/principals
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /principals /principals
</Location>
# DAV
<Location "/dav">
  ProxyPass https://your_zimbra_ip:444/dav
  ProxyPassReverse https://your_zimbra_ip:444/dav
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /dav /dav
</Location>
#Printing and HTML interface
<Location "/h">
  ProxyPass https://your_zimbra_ip:444/h
  ProxyPassReverse https://your_zimbra_ip:444/h
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /h /h
</Location>

# img for mobile interface
<Location "/img">
  ProxyPass https://your_zimbra_ip:444/img
  ProxyPassReverse https://your_zimbra_ip:444/img
  ProxyPassReverse /
  ProxyHTMLExtended      On
  ProxyHTMLURLMap /img /img
</Location>

重新启动您的apache2,您应该完成了!如果您希望代理https:

代码语言:javascript
复制
a2enmod ssl

将以下内容添加到您的/etc/apache2 2/站点中-可用/默认-ssl

代码语言:javascript
复制
SSLProxyEngine on
ProxyRequests On
ProxyPreserveHost On
ProxyVia full
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/388101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档