安装密码生成工具
yum -y install httpd-tools
生成用户和密码文件
[root@localhost nginx]# htpasswd -c /usr/local/nginx/password username
New password:
Re-type new password:
Adding password for user username
- 回车后输入密码
-c
创建一个加密文件
查看生成的用户和密码
[root@localhost nginx]# cat /usr/local/nginx/password
cop:$apr1$650z6d80$pFP5Yx6eclnpXUivMyprn/
删除用户和密码
htpasswd -D /usr/local/nginx/password username
-D
删除指定的用户
修改用户和密码
$ htpasswd -D /usr/local/nginx/password username
$ htpasswd -b /usr/local/nginx/password username pass
-D
删除指定的用户-b
htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码-p
htpassswd命令不对密码进行进行加密,即明文密码
配置Nginx认证
找到 nginx
配置文件,通常默认的配置文件在/usr/local/nginx/conf/nginx.conf
,要对整个站点开启验证,需在配置文件中的server
加上认证配置auth_basic
和 auth_basic_user_file
server {
listen 80;
server_name doc.xxx.com;
auth_basic "登陆验证";
auth_basic_user_file /usr/local/nginx/password;
location / {
root /opt/app/_book;
index index.html;
}
}
也可以对特定path开启认证
location /demo {
proxy_pass http://127.0.0.1:8080/demo;
client_max_body_size 10m;
auth_basic "登陆验证";
auth_basic_user_file /usr/local/nginx/password;
}
重启/重载Nginx使站点的认证生效
/usr/local/nginx/sbin/nginx -s reload