我有一台服务器(Ubuntu 14.04),其中托管了几个网站。
我已经在 /etc/sites-available 中添加了以下 Apache2 配置文件;并且已经启用了这些站点(符号链接到 /etc/sites-enabled):
www.domain1.com.conf
<VirtualHost *:80>
ServerName www.domain1.com
ServerAlias domain1.com
DocumentRoot /var/www/domain1.com/www/
</VirtualHost>
www.domain2.com.conf
<VirtualHost *:80>
ServerName www.domain2.com
ServerAlias domain2.com
DocumentRoot /var/www/domain2.com/www/
</VirtualHost>
ETC。
但是,当我将浏览器直接指向服务器的 IP 时,Apache2 似乎与包含的第一个虚拟主机文件(即 www.domain1.com.conf)匹配。
有什么方法可以禁用此功能,或者 000-default.conf 文件(将首先加载)如何强制 apache 关闭 HTTP 连接而不返回任何数据?
答案1
您可以使用_default_
虚拟主机:
<VirtualHost _default_:*>
DocumentRoot /www/default
</VirtualHost>
更多内容请见:http://httpd.apache.org/docs/2.0/vhosts/examples.html#default
答案2
指定与 IP 地址完全匹配的 VirtualHost,例如,
<VirtualHost 10.50.60.70:80>
RedirectMatch 204 .*
</VirtualHost>