有时候网站有些地方不打算向外界开放,只允许内部人员访问,比如phpmyadmin数据库管理,这时候就要用到apache得auth设置了,这个模块可以实现访问首次访问页面时,弹出登陆框,如果没有正确的用户名和密码就返回401.
个人原创,版权所有,转载请注明原文地址,并保留原文链接:
http://www.embbnux.com/2014/09/18/apache_use_authorization/
本文默认你的web服务器是apache,nginx也是可以的,有点差别
一 设置登陆密码
ssh登陆服务器:
htpasswd -c /yourdir/apache/passwd/passwords username New password: yourpassword Re-type new password: userpassword Adding password for user username
会把存储密码的文件存在/yourdir/apache/passwd/passwords文件里面,hash加密
二 设置.htaccess
在你要设置访问权限得文件夹下的.htaccess最上面插入下面几句话,如果没有该文件则新建一个:
AuthType Basic AuthName "用户认证" # (Following line optional) AuthBasicProvider file AuthUserFile /yourdir/apache/passwd/passwords Require user username
apache上该目录的AllowOverride改为ALL或者AuthConfig
三 重启apache
service apache2 restart
再访问页面就会弹出密码登陆框.
参考: http://httpd.apache.org/docs/2.2/howto/auth.html