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

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


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


  1. 基于端口:应先在主配置文件中增长一个监听的端口listen 8080
    ide

    <virtualhost 172.16.168.140:80>网站

      options noneui

      documentroot "/var/www/80"server

    </virtualhost>blog

    

    <virtualhost 172.16.168.140:8080>ip

      options noneci

      documentroot "/var/www/8080"资源

    </virtualhost>

 2.基于IP:

    <virtualhost 172.16.168.150:80>

     options none

     documentroot "/var/www/ip150"

    </virtualhost>

 3.基于域名:apatche2.2版本应先在虚拟主机配置文件增长 namevirtualhost 172.16.168.140:80

   若是想经过多个域名访问到同一个网站,能够定义多个servername

    <virtualhost 172.16.168.140:80>

      servername www.a.com

      servername www.an.com

      options none

      documentroot "/var/www/a.com"

    </virtualhost>

    

    <virtualhost 172.16.168.140:80>

      servername www.b.com

      options noe

      documentroot "/var/www/b.com"

    </virtualhost>

2、配置用户对web资源的访问控制:若是某些资源不想被用户访问,能够经过创建受权让用户访问或根据ip地址进行限制

    经过创建受权:

     1.使用htpasswd 命令建立用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当须要建立第二个用户时,去掉-c选项,不然会把第一次建立的用户给清除掉)

     <directory "/var/www/secret">

      authtype basic

      authname "is a sceret..."

      authuserfile "/etc/httpd/conf/htpasswd"

      require (user abc | valid-user) valid-user指所有用户 user能够指定具体某个用户

     </directory>

     若是想经过组来管理,需先创建一个组文件:

     wKiom1Rd25Sj65pSAAAa1LzyUD4957.jpg

     而后在文件中写上组名和已经(使用htpasswd)建立好的用户:

     wKioL1Rd3JaRBY8BAAAW40-im9Q144.jpg

     最后在<directory>中增长下面两条命令:

     authgroupfile "/etc/httpd/conf/htgroup"

     require group myuser


    经过限定ip地址:

     <directory "/var/www/secret“>

      order deny,allow

      deny from 192.168.100.1

     </directory>

    order指定 先拒绝后容许 或 先容许后拒绝

    先拒绝后容许:默认容许,若是不指定拒绝的地址将容许全部地址

    先容许后拒绝:默认拒绝,若是不指定容许的地址将拒绝全部地址

    地址能够是 主机名、网段(172.16.0.0 能够简写为172.16)、具体某个ip地址

    地址之间用逗号隔开

相关文章
相关标签/搜索