非标准端口上的Apache vhost配置 - 仅提供第一个虚拟主机

时间:2016-09-29 03:51:24

标签: apache unix ubuntu vhosts

我试图在非标准端口(8787)上通过Apache(ubuntu 14.04 LTS上的v2.4.7)提供2个站点。这是为了适应代理设置(我有nginx在同一个专用服务器上的端口80上为其他站点提供服务)。我非常有信心代理配置很好但是vhost似乎没有在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>

我还有一个&#34;听8787&#34;换掉&#34;听80&#34;我的顶级/etc/apache2/ports.conf文件中的行。这是我所做的自定义配置的总和。这两个站点都已启用a2ensite,并且已禁用000-default vhost。我通过查看/ etc / apache2 / sites-enabled中的符号链接来检查这是否有效。我已经多次重启Apache(w / sudo)并重启了整台机器几次。无论如何,当我点击http://site2.com:8787(以及http://site1.com:8787)时,我将获得site1。

我到处寻找,试图找出可能造成这种情况的具体事情,我完全没有想法。如果有人处理了这个问题,请告诉我,我会立即跟进修复状态。

1 个答案:

答案 0 :(得分:1)

更新:我解决了这个问题。它实际上是我不小心插入的vhost conf某些行上的尾随分号(我想我已经编辑了太多的Nginx conf文件)。我想也许他们被Apache作为主机名的一部分对待