【发布时间】:2017-02-07 05:40:33
【问题描述】:
我正在尝试通过非标准端口 (8787) 上的 Apache(ubuntu 14.04 LTS 上的 v2.4.7)为 2 个站点提供服务。这是为了适应代理设置(我让 nginx 在同一台专用服务器上的端口 80 上为其他站点提供服务)。我非常有信心代理配置很好,但虚拟主机似乎没有在 Apache 级别上得到尊重(即当我直接点击端口 8787 时,nginx 没有触及)。我的设置看起来非常简单,如下所示:
<VirtualHost *:8787>
ServerName site1.com
ServerAlias www.site1.com;
DocumentRoot "/var/www/site1.com"
<Directory "/var/www/site1.com">
AllowOverride All
</Directory>
</VirtualHost>
还有……
<VirtualHost *:8787>
ServerName site2.com;
ServerAlias www.site2.com;
DocumentRoot "/var/www/site2.com"
<Directory "/var/www/site2.com">
AllowOverride All
</Directory>
</VirtualHost>
我还有一个“Listen 8787”行替换了我的顶级 /etc/apache2/ports.conf 文件中的“Listen 80”行。这是我所做的自定义配置的总和。两个站点都已启用 a2ensite,并且 000-default vhost 已禁用。我通过查看 /etc/apache2/sites-enabled 中的符号链接仔细检查了这是否有效。我已经多次重新启动 Apache(使用 sudo)并多次重新启动整个机器。无论如何,当我点击http://site2.com:8787(以及http://site1.com:8787)时,我会得到site1。
我四处张望,试图找出可能导致这种情况的具体原因,但我完全没有想法。如果有人处理过这个问题,请告诉我,我会立即跟进修复状态。
【问题讨论】: