Centos7 nginx 使用密码认证

/ 2017-10-11 14:52:45 / 0评 / 0
nginx密码认证场景
1.一些非公开的页面,只想给特定的用户访问,但是又不想写权限控制
2.临时需要请求线上的调试接口,但是这些接口不能直接暴露
nginx启用密码认证(下面是基于centos7)
1.安装一个生成账号密码的小工具
# yum install httpd-tools
2.生成一个账号密码
# htpasswd -bc 生成账号密码文件路径 账号名 密码
(例子:)htpasswd -bc /tmp/t.db root 123456
3.在nginx配置启用密码认证
location / {
     root  /usr/share/nginx/html;
     index  index.html index.htm;
     auth_basic "input password";   # 这里是提示信息
     auth_basic_user_file /tmp/t.db; # 这里填写刚才生成的文件路径
}
4.重新加载配置文件
nginx -s reload
效果图

 

启用验证后需要输入密码的界面

 

如果没有通过验证的时候

通过验证后可以访问网站
如何退出验证呢
通过分析,登录凭证并不是放在cookie而是在header(字段是Authorization)。所以重新打开浏览器的时候就需要重新登录了。

发表评论

邮箱地址不会被公开。 必填项已用*标注