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. 或者针对部分文件的下载和图片的查看,也可以这么做