安装 htpasswd
yum -y install httpd-tools
设置用户名和密码文件,有一点需要注意htpasswd有效密码长度只有8位
htpasswd -c /usr/local/nginx/conf/passwd cuber
New password:
Re-type new password:
Adding password for user cuber
修改 nginx 配置文件
vi nginx.conf
server {
listen 80;
server_name localhost;
# ...
# 新增两行
auth_basic "password";
auth_basic_user_file /usr/local/nginx/conf/passwd;
location /{
# ...
}
重启 nginx
./nginx -t
./nginx -s reload
测试认证
curl http://user:passwd@127.0.0.1
htpasswd选项参数
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
htpasswd命令选项参数说明
-c # 创建一个加密文件
-n # 不更新加密文件,只将htpasswd命令加密后的用户名密码显示在屏幕上
-m # 默认htpassswd命令采用MD5算法对密码进行加密
-d # htpassswd命令采用CRYPT算法对密码进行加密
-p # htpassswd命令不对密码进行进行加密,即明文密码
-s # htpassswd命令采用SHA算法对密码进行加密
-b # htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
-D # 删除指定的用户
同时输入用户名和密码
htpasswd -cb /usr/local/nginx/conf/passwd user12 'passwd123'