32ew 发表于 2014-11-10 08:31:01

httpd配置虚拟主机及访问控制

一、虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名

配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰


[*]基于端口:应先在主配置文件中增加一个监听的端口listen 8080
   
      options none
      documentroot "/var/www/80"
   

   
      options none
      documentroot "/var/www/8080"
   
2.基于IP:
   
   options none
   documentroot "/var/www/ip150"
   
3.基于域名:apatche2.2版本应先在虚拟主机配置文件增加 namevirtualhost 172.16.168.140:80
   如果想通过多个域名访问到同一个网站,可以定义多个servername

   
      servername www.a.com
      servername www.an.com

      options none
      documentroot "/var/www/a.com"

   

   
      servername www.b.com

      options noe
      documentroot "/var/www/b.com"
   
二、配置用户对web资源的访问控制:如果某些资源不想被用户访问,可以通过建立授权让用户访问或根据ip地址进行限制
    通过建立授权:

   1.使用htpasswd 命令创建用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当需要创建第二个用户时,去掉-c选项,否则会把第一次创建的用户给清除掉)
   
      authtype basic
      authname "is a sceret..."
      authuserfile "/etc/httpd/conf/htpasswd"
      require (user abc | valid-user) valid-user指全部用户 user可以指定具体某个用户
   
   如果想通过组来管理,需先建立一个组文件:
   
   然后在文件中写上组名和已经(使用htpasswd)创建好的用户:

   最后在中增加下面两条命令:
   authgroupfile "/etc/httpd/conf/htgroup"
   require group myuser

    通过限定ip地址:
   
      order deny,allow
      deny from 192.168.100.1
   
    order指定 先拒绝后允许 或 先允许后拒绝
    先拒绝后允许:默认允许,如果不指定拒绝的地址将允许所有地址
    先允许后拒绝:默认拒绝,如果不指定允许的地址将拒绝所有地址
    地址可以是 主机名、网段(172.16.0.0 可以简写为172.16)、具体某个ip地址
    地址之间用逗号隔开
页: [1]
查看完整版本: httpd配置虚拟主机及访问控制