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地址

    地址之間用逗號隔開

相關文章
相關標籤/搜索