Nginx系列(四)-安全认证Basic Auth
上一篇: Nginx系列(三)-Keepalive热备高可用
一、介绍
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 生成密码文件
- 这里我们使用htpasswd来生成.
yum install -y httpd-tools
- htpasswd是开源的http服务器Apache Http Server的一个命令行工具.可以用来创建和更新基本认证
的用户认证密码文件.其中htpasswd必须对密码文件有读写权限. - 参数如下:
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;
}
-
此时我们
nginx -s reload
-
重新访问一下地址
-
使用刚刚注册的, test 123123登录之后就可以正常访问了
三、总结
1. 上面博主介绍了nginx的basic auth安全认证.
2. 当咱们有些内容想让部分人看到,但是没有专门的登录功能的话,我们就可以使用这样的方式
3. 或者针对部分文件的下载和图片的查看,也可以这么做
4. 如有不对,欢迎指正.希望能帮到大家