nginx基于用户登录认证的 http_auth_basic_module

http_auth_basic_module
用户登录认证的
Syntax: auth_basic string|off
Default:auth_basic off;
Context:http,server,limit_except

有string表示开启,并会在前端提示显示

Syntax:auth_basic_user_file file;
Default:-
Context:http,server,location,limit_except

file表示文件路径
存储用户用户名和密码
name1:passwd1
name2:passwd2:comment
name3:passwd3

用户密码加密方式
http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html

支持htpasswd等
htpasswd安装
yum install httpd-tools -y
查看帮助
htpasswd -h
首次创建并加入
htpasswd -c ./user_passwd user1
操作演示:
[root@centos1 conf]# htpasswd -c ./user_passwd user1
New password:
Re-type new password:
Adding password for user user1
[root@centos1 conf]# cat user_passwd
user1:7fmSGJh9/cmRw
添加一个用户
[root@centos1 conf]# htpasswd user_passwd user2
New password:
Re-type new password:
Adding password for user user2
或者
root@centos1 conf]# htpasswd -b user_passwd user3 12345678
Adding password for user user3
删除一个用户
[root@centos1 conf]# htpasswd -D user_passwd user2
Deleting password for user user2

nginx里配置
location ~ ^/admin{
            auth_basic "please input: ";
            auth_basic_user_file /usr/local/nginx/conf/user_passwd;
           index index.html;
        }

输入完,进去,清理缓存或关闭浏览器会话失效

局限性
1.文件方式依赖
2.操作管理机械,效率低下
解决方案
1.nginx+lua高效验证
2.nginx和LDAP打通,利用nginx-auth-ldap模块