Apache VirtualHost 没有响应

Apache VirtualHost 没有响应

我有两个 IP 地址指向 DigitalOcean 上的服务器 Ubuntu 16.04。

对于一个 IP 地址,以下操作可以正常工作。

<VirtualHost 1.2.3.4:80>
  ServerName  www.mysite.com

  DirectoryIndex index.php index.html
  DocumentRoot /home/mysite.com

  <Directory /home/mysite.com/>
    Require all granted
    Allowoverride ALL
  </Directory>
</VirtualHost>

当我使用我的第二个 IP 地址添加另一个 VirtualHost 时

<VirtualHost 5.6.7.8:80>
  ServerName  www.mysite2.com

  DirectoryIndex index.php index.html
  DocumentRoot /home/mysite2.com

  <Directory /home/mysite2.com/>
    Require all granted
    Allowoverride ALL
  </Directory>
</VirtualHost>

这不起作用,相反,我看到的是 Ubuntu 默认的 index.html 页面。

我运行了 apache2ctl -S,这就是我看到的内容。

1.2.3.4:80     is a NameVirtualHost
default server www.mysite2.com (/etc/apache2/sites-enabled/mysite2.com.conf:1)

那么看起来 1.2.3.4 是 NameVirtualHost 而 5.6.7.8 不是?

所以我尝试设置

NameVirtualHost 5.6.7.8:80

但还是没运气。所以我想,也许我需要设置“Listen”指令。该指令在“ports.conf”中设置为

Listen 80

所以我尝试将其改为

Listen 1.2.3.4:80
Listen 5.6.7.8:80

没有运气。

但我确实通过执行以下操作使其工作

<VirtualHost *:80>
  ServerName  www.mysite2.com

  DirectoryIndex index.php index.html
  DocumentRoot /home/mysite2.com

  <Directory /home/mysite2.com/>
    Require all granted
    Allowoverride ALL
  </Directory>
</VirtualHost>

但那将是一种“黑客”式的工作方式,因为它只是......包罗万象?谢谢你的帮助!

相关内容