Nginx实现安全认证Basic Auth

转载:https://blog.csdn.net/rhnxbdbdh/article/details/120114313

一、介绍

1. 什么是Basic Auth?

2. 就是在访问的时候,需要弹出一个登录框来输入用户账号和密码,验证正确才可以访问

 

二、配置

2.1 准备工作

1. 安装部署nginx,并且代理转发一个测试.net core 程序.
2. 在192.168.3.16上端口为12312运行了.net core
3. nginx监听80端口转发到此程序上,测试访问正常.如下

location /test {
proxy_pass http://192.168.3.16:12312;
root html;
index index.html index.htm;
}

2.2 生成密码文件

1. 这里我们使用htpasswd来生成. yum install -y httpd-tools
2. htpasswd是开源的http服务器Apache Http Server的一个命令行工具.可以用来创建和更新基本认证
的用户认证密码文件.其中htpasswd必须对密码文件有读写权限.
3. 参数如下:
3.1 -b -->密码直接写在命令行中,而非使用提示输入的方式
3.2 -c—>创建密码文件,如果文件存在,则覆盖
3.3 -n—>不更新密码文件,将用户名密码进行标注输出
3.4 -m—>使用md5算法对密码处理
3.5 -d—>使用crypt算法对面处理
3.6 -s—>使用sha算法对密码处理
3.7 -p—>不对密码加密处理,使用明文
3.8 -D—>从密码文件中删除指定用户记录
htpasswd -bc /usr/local/nginx/nginx-1.18.0/conf/nginxpasswd test 123123

2.3 修改nginx配置

location /test {
location /test {
proxy_pass http://192.168.3.16:12312;
auth_basic "auth basic for test";
auth_basic_user_file /usr/local/nginx/nginx-1.18.0/conf/nginxpasswd;
root html;
index index.html index.htm;
}

1. 此时我们 nginx -s reload

2. 重新访问一下地址

 

 3. 使用刚刚注册的, test 123123登录之后就可以正常访问了

三、总结

1. 上面博主介绍了nginx的basic auth安全认证.
2. 当咱们有些内容想让部分人看到,但是没有专门的登录功能的话,我们就可以使用这样的方式
3. 或者针对部分文件的下载和图片的查看,也可以这么做

 

posted @ 2022-11-17 18:25  一加一  阅读(1690)  评论(0编辑  收藏  举报