Apache2 禁用捕获所有虚拟主机

Apache2 禁用捕获所有虚拟主机

我有一台服务器(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>

相关内容