boss44 发表于 2018-11-19 07:36:50

Apache配置——默认虚拟主机

  注:apache默认访问第一个虚拟主机。
  我们配置的www.test.com访问论坛,它的别名www.aaa.com以及ip都可以访问这个论坛,现在就有点疑惑了,test与aaa我们配置了,为什么这个Ip也可以访问这个论坛呢,这呢,就有一个概念,叫做默认的虚拟主机配置文件,不管哪个域名,只要是你解析过来,举个例子说,我们在windows的host文件里再添加一个域名www.bbb.com,也解析到这个ip上,同样也可以访问这个论坛,结论就是不管是什么域名,只要指向到了这台服务器,它都会访问到这个网站,而这个网站是我们虚拟主机里面它的第一个配置文件里面的网站;若不存在的域名去访问的话,就会访问第一个虚拟主机,那我们怎样防止ip或非指定域名访问呢,这时则需要屏蔽掉默认虚拟主机。
  ## 默认虚拟主机
  # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  
      DocumentRoot "/data/tmp"
      ServerName tmp.com
  
http://note.youdao.com/yws/res/3525/WEBRESOURCE6e92b1a44ae3706917b89ffdf33c17cb
  说明:根目录随便写一个空目录,域名也随便写一个域名,这样就禁掉了。
  解释:
  NameVirtualHost *:80功能必须开启
  请求服务器默认访问会访问此服务器配置的第一个虚拟主机,为了避免ip访问与非指定域名访问,需要禁止掉。
  ## 创建目录
  # mkdir /data/tmp
  ## 检查语法并重新加载
  # /usr/local/apache2/bin/apachectl -t
  # /usr/local/apache2/bin/apachectl graceful
  ## 此时ip或非指定域名再访问话,就禁止掉了。
http://note.youdao.com/yws/res/4704/WEBRESOURCEe11b2a876df0e8d3dae8bfbd4d6fd472
  ## 测试直接使用ip访问(这样就不能访问)
  # curl 192.168.219.128 -I
  HTTP/1.1 403 Forbidden
  Date: Sun, 30 Oct 2016 17:04:10 GMT
  Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
  Content-Type: text/html; charset=iso-8859-1
  ## 使用指定域名访问(这样可以访问)
  # curl -x192.168.219.128:80 www.test.com -I
  HTTP/1.1 301 Moved Permanently
  Date: Sun, 30 Oct 2016 17:07:48 GMT
  Server: Apache/2.2.16 (Unix) DAV/2 PHP/5.3.28
  X-Powered-By: PHP/5.3.28
  location: forum.php
  Content-Type: text/html
  




页: [1]
查看完整版本: Apache配置——默认虚拟主机