ngx_http_auth_basic_module模块允许通过使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。 大致的过程就是在nginx下生成一个用户密码的配置文件,而后在conf配置文件中配置一下就OK了。
访问还可以根据地址、子请求的结果或JWT进行限制。同时通过地址和密码限制访问由满足指令控制。
同时,auth_basic要求放置的用户文件需要进行hash值计算,要对明文密码进行处理。用户文件后面说明。
注:加密处理只针对Linux服务器,Windows server不需要加密后的用户文件,不需要。不需要!!!只需要将明文用户密码作为一个文件就可以
1.生成密码(Linux)
安装 httpd-tools
yum install httpd-tools
使用 httpd-tools
生成加密后的hash值
htpasswd -nbm admin 12345678
大概是如下的样子
admin:$apr1$nkxLxBPa$EGa.u5yKuQ08m6g/8bGb9.
把上面输出的新建一个无后缀的文件放进去,你的文件名可以是这样的is_my_nginx_888_key
nginx配置
location /check {
root html;
index index.html index.htm;
# 开启功能模块,关闭为off
auth_basic on;
# 指定密码配置文件
auth_basic_user_file home/web/auth/is_my_nginx_888_key;
# 验证通过后 跳转的相关路径
proxy_pass http://127.0.0.1:9003;
}
nginx监听指定端口,用户访问指定的端口后,跳出验证用户密码,auth_basic on 代表打开验证登录,输入的用户密码要在生成的用户信息文件里可以匹配的上,完成验证后,跳转到9003端口的页面上。
到这里就完成了
评论区