Apache反向代理,一个服务器,多个域

时间:2014-11-07 05:05:04

标签: apache redirect debian reverse-proxy

我正在尝试使用一台服务器管理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.coma2ensite domainB.com。我重启了我的apache服务。

但没有任何改变:我的domainAdomainB都将我重定向到同一个容器(CT01)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我可能建议做一个新的CT只是为了托管一个代理(例如nginx),它将根据HTTP请求的Host:field值将请求路由到一个或另一个站点。如果只是两个站点,这可能有点矫枉过正,但是当你想拥有更多时,它可能非常有用。此外,NGinx可用于缓存等。

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

希望它有所帮助。

此致