apache用戶認證

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那個虛擬主機編輯成如下內容,第一個是默認主機,我們修改的是第二個

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    ServerAlias www.111.com
    <Directory /data/wwwroot/111.com> //指定認證的目錄
        AllowOverride AuthConfig //這個相當於打開認證的開關
        AuthName "111.com user auth" //自定義認證的名字,作用不大
        AuthType Basic //認證的類型,一般爲Basic,其他類型沒用過
        AuthUserFile /data/.htpasswd  //指定密碼文件所在位置
        require valid-user //指定需要認證的用戶爲全部可用用戶
    </Directory>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>

/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd apache //創建並指定密碼文件所在位置並增加用戶名apache -m是指密碼MD5加密 之後創建用戶不需要加-c,因爲第一次已創建文件
/usr/local/apache2.4/bin/apachectl –t //測試語法
/usr/local/apache2.4/bin/apachectl graceful //重新加載配置文件,不會重啓服務

綁定Windows的hosts,瀏覽器測試
apache用戶認證

curl -x127.0.0.1:80 www.111.com //狀態碼爲401(401是指需要用戶密碼驗證)
curl -x127.0.0.1:80 -uapache:111111 www.111.com //狀態碼爲200(200爲正常) -u後面的:跟密碼

用戶認證根據單個文件
還可以針對單個文件進行認證

<VirtualHost *:80>
    DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    <FilesMatch admin.php>    //admin.php就是單個文件的文件名
        AllowOverride AuthConfig
        AuthName "111.com user auth"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </FilesMatch>
</VirtualHost>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章