【问题标题】:Apache reverse proxy, one server, multiple domainsApache反向代理,一台服务器,多个域
【发布时间】:2014-11-07 05:05:04
【问题描述】:

我正在尝试使用一台服务器管理 2 个域(使用多个 CT 运行 proxmox),我正在使用反向代理,但似乎是错误的。这是我的配置:

假设我们有一个运行 proxmox 的主服务器,我管理 IPTables 以将端口 80 重定向到我的第一个容器 (CT01) 的端口 80,并将端口 8109 重定向到我的第二个容器 (CT02) 的端口 80。

在我的浏览器中使用端口时,一切正常,我能够访问每个容器。

我购买了 2 个域名,一个用于我的私人服务器 (CT01),另一个用于业务服务器 (CT02)。我将这两个域都关联到我的服务器地址,并且在键入其中一个或另一个时,我被重定向到 CT01(正常情况下,浏览器正在将地址运行到默认端口)。

所以现在我尝试使用反向代理来重定向到所需的服务器(DomainA -> CT01,DomainB -> CT02),我在 /var/apache2/sites-available/ 创建了 2 个文件:

/var/apache2/sites-available/domainA.com:

<VirtualHost *:80>
    ServerName domainA.com
    DocumentRoot /var/www/
</VirtualHost>

/var/apache2/sites-available/domainB.com:

<VirtualHost *:80>
    ServerName domainB.com
    ProxyPreserveHost On
    ProxyRequests On
    ProxyPass / http://x.y.z.h:8109/
    ProxyPassReverse / http://x.y.z.h:8109/
    <Location />
            Order allow,deny
            Allow from all
    </Location>
</VirtualHost>

然后我运行a2ensite domainA.com 和a2ensite domainB.com。我重新启动了我的 apache 服务。

但什么都没有改变:我的domainA 和domainB 都将我重定向到同一个容器 (CT01)。

有什么想法吗?

【问题讨论】:

标签: apache redirect debian reverse-proxy


【解决方案1】:

我可能建议做一个新的 CT 只是为了托管一个代理(例如 nginx),它将根据 HTTP 请求的 Host: 字段值将请求路由到一个或另一个站点。如果仅针对两个站点,这可能有点过分,但是当您想要拥有更多站点时,它可能非常有用。加上NGinx可以用来缓存等。

如果您有兴趣,请告诉我。我知道您可能会遵循一个教程,但它是法语的:http://blog.ganbaranai.fr/2013/08/il-etait-une-fois-proxmox-derriere-une-ip-unique/

希望对你有帮助。

问候,

【讨论】:

  • 感谢您的评论,这个替代方案很有趣,我通过重新启动所有 conf 解决了我的问题。我会更深入地研究您的解决方案,看看它是否适合我的情况。
猜你喜欢
  • 2010-11-27
  • 1970-01-01
  • 2012-12-08
  • 2013-04-02
  • 1970-01-01
  • 2018-01-20
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多