如下,我们只配置了一个虚拟主机,假设 www.test.com 对应的 IP 为 192.168.1.1 ,默认情况下用户访问匹配的是第一个虚拟主机,这样一来,如果用户在 hosts 文件中用 192.168.1.1 指向非 www.test.com ,同样也能访问到 www.test.com ,我们应该杜绝这种情况,因此在前面增加多一个虚拟主机,让这个虚拟主机指向不存在的文件,这样一来,当用户访问时,默认匹配的是第一个虚拟主机,只有当访问到 www.test.com 时才匹配到正确的虚拟主机
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf # 配置前
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.test.com
<Directory /data/www>
AuthName "Please input password"
AuthType basic
AuthUserFile /data/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf # 配置后
<VirtualHost *:80>
DocumentRoot "/tmp/123"
ServerName 123.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.test.com
<Directory /data/www>
AuthName "Please input password"
AuthType basic
AuthUserFile /data/.htpasswd
Require valid-user
</Directory>
</VirtualHost>