2019-02-20 CentOS Apache/httpd添加密碼保護

Apache2添加密碼保護,在CentOS和Ubuntu下稍有不同,但原理是一樣的。認證所需的用戶名和密碼可以存儲在密碼文本中,也可以存儲在數據庫裏。這裏簡述一下密碼存放在文本中如何在CentOS中配置。
CentOS apache的配置文件是/etc/httpd/conf/httpd.conf

<Directory "/var/www/html">
  Options Indexes FollowSymLinks
  Allowoverride None  #默認是None,表示禁止用戶對目錄配置文件(.htaccess進行修改)重載
  Order allow,deny
  Allow from all #哪些用戶可以訪問,默認是所有
  </Directory>

添加認證後看起來是這樣的:

<Directory "/var/www/html">
  Options Indexes FollowSymLinks
       AllowOverride authconfig
       Order allow,deny
       Allow from all
       AuthName "Auth Access"
      AuthType Basic
      AuthUserFile /var/www/html/htpasswd.users  #定義訪問控制文件
      Require valid-user  #僅允許合法用戶訪問
</Directory>
#不允許web訪問用戶查看.htpasswd和.htaccess文件
<Files ~ "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</Files>

現在添加用戶認證

sudo htpasswd -c /var/www/html/htpasswd.users user1 

注意,第一個用戶參數 -c,後面加的用戶不要用,否則會覆蓋掉前面的!
重啓服務

systemctl restart httpd

再訪問頁面,就需要輸入用戶名密碼認證了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章