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

标签 apache unix ubuntu vhosts

我正在尝试通过非标准端口(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 中的符号链接(symbolic link)仔细检查了这是否有效。我已经多次重新启动 Apache(使用 sudo)并多次重新启动整个机器。无论如何,当我点击 http://site2.com:8787 (还有 http://site1.com:8787 )我服务于site1。

我环顾四周,试图找出可能导致这种情况的具体原因,但我完全没有想法。如果有人处理过这个问题,请告诉我,我会立即跟进修复状态。

最佳答案

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

关于非标准端口上的 Apache vhost 配置 - 仅提供第一个 vhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39761103/

相关文章:

php - 如何使用 Apache Mod_rewrite 删除 php 扩展,同时保留 GET 参数?

ruby-on-rails - 来自 Rails 4.2 图像缓存的特定图像将不会更新,无论我们尝试什么

java - unix和windows文件的区别

linux - ubuntu软件中心 "the package is of bad quality"怎么解决

linux - 80 端口上的 pdflush 阻止 Apache 重新启动

php - 从 apache 服务器中的 php 访问 shell 可执行文件

java - 在不同的目录中使用 Java 的 exec 运行 .sh 文件?

linux - 如何为GNU find适本地限定-or运算符?如何找到指向可执行文件的符号链接(symbolic link)?

node.js - 从 Github 存储库在生产服务器上设置 Node.js 应用程序时遇到问题

linux - 通过 ipv6 连接时 SSH 超时,但适用于 ipv4