[转帖]nginx 用户登录认证

nginx 用户登录认证

https://blog.csdn.net/endzhi/article/details/88931176


测试是否已经安装htpasswd

[root@localhost ~]# htpasswd -h

htpasswd命令找不到,先安装httpd-tools,

[root@localhost ~]# yum -y install httpd-tools

通过htpasswd命令生成密码数据库文件并创建用户与密码

[root@localhost ~]# htpasswd -bc /usr/local/nginx/passwd.db  zhangsan  123456

查看通过htpasswd生成的密码为加密格式

[root@localhost ~]# cat /usr/local/nginx/passwd.db

zhangsan:$apr1$3NQgw.Zb$JWQSENiJ8JzzMDAUGfqGf.、

设置需要认证登陆的location (仅对本location有效)

[root@localhost ~]# vi  /usr/local/nginx/conf/nginx.conf

        location / {

            root   html;

            index  index.html index.htm;

            auth_basic "User Authentication";              ## 认证弹窗提示语

            auth_basic_user_file /usr/local/nginx/passwd.db ;  ## 密码文件路径

        }

重新载入配置

/usr/local/nginx/sbin/nginx  -s reload

浏览器访问测试

wget  和 curl 凭账户密码访问资源格式

wget  --http-user=zhangsan  --http-passwd=123456  http://192.168.1.100

curl  -uzhangsan:123456  http://192.168.1.100

htpasswd使用方式

1. 增加用户

htpasswd -b /usr/local/nginx/passwd.db  admin  123456    

  注意不能有c, 重置密码库文件才带c。

2. 修改用户密码

 方式1  htpasswd -b /usr/local/nginx/passwd.db  admin  123eee 

  会将原用户更新密码

方式2  htpasswd  -nb    admin   123eee 

 显示加密串码后,编辑密码库文件,修改

3 删除用户。

方式1   htpasswd -D   /usr/local/nginx/passwd.db   admin

方式2   编辑密码库文件,删除用户行。

windows版nginx配置
auth_basic "User Authentication";            ## 认证弹窗提示语
auth_basic_user_file D:/app/nginx-1.17.3/conf/passwd;       ## 路径配置为反斜杠。

passwd文件用户密码内容格式如下:
username:123456
————————————————
版权声明:本文为CSDN博主「endzhi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/endzhi/article/details/88931176

猜你喜欢

转载自www.cnblogs.com/jinanxiaolaohu/p/12388258.html