Apache默认虚拟主机

    之前我们配置了两个域名:test和aaa,或者访问IP的时候也能跳转到discuz论坛,这有一个概念叫做默认的虚拟主机配置文件,不管是哪一个域名只要是你解析过来都能解析到该论坛,举个列子:比如我们打开计算机-C盘-windows-systmes32-drivers-etc-hosts用写字板打开       

     加入:192.168.140.100  www.test.com   www.aaa.com  www.222.com

它也能解析到192.168.140.100这个discuz论坛里面去,ping www.222.com也是到这个192.168.140.100

结论是不管你是什么域名,只要你把它指向到这台服务器,那么它都会访问到这个网站,那这个网站是什么呢,是我们虚拟主机里面的第一个配置文件里边的网站,这个时候我们如果想要限制的话,比如说222.com 它本来不是我的域名解析过来之后也能访问我的网站,这是不符合规范的不安全,所以我们给它做一个限制,我们就把第一个站点直接拒绝掉

[root@zhangmengjunlinux ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>       

   DocumentRoot "/tmp/123"     这个目录不存在

   ServerName    111.com       随便写

</VirtualHost>               是这一个配置文件里的网站

<VirtualHost *:80>

    DocumentRoot "/data/www/"

    ServerName  www.test.com

    ServerAlias www.aaa.com

   # ErrorLog "logs/dummy-host2.example.com-error_log"

   # CustomLog "logs/dummy-host2.example.com-access_log" common

   <Directory /data/www/abc>

       AllowOverride AuthConfig

       AuthName "aaa"

       AuthType Basic

       AuthUserFile /data/.htpasswd

       require valid-user

   </Directory>

</VirtualHost>

[root@zhangmengjunlinux ~]# ls /tmp/123

ls: 无法访问/tmp/123: 没有那个文件或目录

[root@zhangmengjunlinux ~]# apachectl -t

Warning: DocumentRoot [/tmp/123] does not exist

Syntax error on line 28 of /usr/local/apache2/conf/extra/httpd-vhosts.conf:

Invalid command 'SeverName', perhaps misspelled or defined by a module not included in the server configuration

[root@zhangmengjunlinux ~]# mkdir /tmp/123

[root@zhangmengjunlinux ~]# chmod 600 /tmp/123

[root@zhangmengjunlinux ~]# ls -al /tmp/123

总用量 8

drw-------  2 root root 4096 12月 27 23:53 .

drwxrwxrwt. 5 root root 4096 12月 27 23:53 ..

[root@zhangmengjunlinux ~]# apachectl -t

Syntax error on line 28 of /usr/local/apache2/conf/extra/httpd-vhosts.conf:

Invalid command 'SeverName', perhaps misspelled or defined by a module not included in the server configuration

[root@zhangmengjunlinux ~]# !vim

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

[root@zhangmengjunlinux ~]# apachectl -t

Syntax OK

所以说apache它的默认虚拟主机就是第一个,你想把它禁掉很简单

  1. 创建一个空目录就可以了,里面什么都不要加

  2. 域名随便写一个

    这是怎样去禁掉默认的虚拟主机


你可能感兴趣的:(默认虚拟主机)