Nginx系列——认证

Posted 标配的小号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx系列——认证相关的知识,希望对你有一定的参考价值。

Authentication
认证,可以减轻nginx负载,停止响应未认证的用户端的请求。
HTTP Basic Authentication
新建一个如下如下格式的文件:(用户名第一列,密码第二列,并且密码是被加密过的,其中第三列是可选的,用于做注释)
# comment
name1:password1
name2:password2:comment
name3:password3
密码加密生成方式:
需要安装openssl,然后执行以下命令(类似的密码生成方式还有 htpasswd)
openssl passwd MyPassword1234
Nginx配置方式如下
location / {
auth_basic "Private site"; #未认证的用户在请求时会弹出名为Private site的认证窗口
auth_basic_user_file conf.d/passwd; #上面添加的密码文件路径和文件名
}
这种加密认证方式配置HTTPS才会更加安全

Authentication Subrequests
子请求认证
location /private/ {
auth_request /auth; #带一个internal URL参数
auth_request_set $auth_status $upstream_status; #类似代理,对子请求返回对应的状态码
}
location = /auth {
internal;
proxy_pass http://auth-server;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}

以上是关于Nginx系列——认证的主要内容,如果未能解决你的问题,请参考以下文章

Nginx系列

Nginx系列教程| 一文带你读懂 Nginx 的负载均衡

prometheus学习系列十一: Prometheus 安全

重识Nginx - 系列导读

Nginx系列教程| 一文带你读懂Nginx的正向与反向代理

Nginx系列Nginx编译与安装