bash# yum install httpd-tools -y #适用 centos
$ sudo apt-get install apache2-utils -y #适用 ubuntu
bash$ htpasswd -c /var/www/html/.htpasswd user1 #回车会要求输入两遍密码,会清除已有的所有用户
$ htpasswd -bc /var/www/html/.htpasswd user1 password #不用回车,直接指定 user1 的密码 为password
$ htpasswd -b /var/www/html/.htpasswd user2 password #添加一个用户,如果用户已存在,则是修改密码
$ htpasswd -D /var/www/html/.htpasswd user2 #删除用户
/var/www/html/.htpasswd 是验证用户密码存储的文件位置
一般系统默认自带,如果是最小化安装,可以执行下列命令安装
bash# yum install openssl openssl-devel -y #适用 centos
# apt install openssl openssl-devel -y #适用 ubuntu
bash# printf "your_username:$(openssl passwd -crypt your_password)\n" >> /var/www/html/.htpasswd
Apache/Nginx 默认已编译密码验证模块,如 Nginx 是 ngx_http_auth_basic_module,如果没有开启 以重新编译加上开启参数即可。
在配置文件中将需要保护的路径 添加 并开启 basic 认证:
bash<Directory /data/webroot/mail_admin >
......
AuthType Basic
AuthName "Authority Required" # 验证时的提示信息,但并非所有终端都支持显示
AuthUserFile /var/www/html/.htpasswd
Require user admin
......
</Directory>
重启生效。
同样在需要保护的地方添加 basic 认证:
bash......
location /
.......
auth_basic "Authority Required"; # 验证时的提示信息,但并非所有终端都支持显示
auth_basic_user_file /var/www/html/.htpasswd ;
.......
}
......
同样重启生效。
本文作者:Kevin@灼华
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!