nginx 配置用户认证
nginx 配置用户认证有两种方式:
1.auth_basic 本机认证,由ngx_http_auth_basic_module模块实现。配置段: http, server, location, limit_except
2.auth_request,由ngx_http_auth_request_module模块实现。配置段:http, server, location
第一种方式:
yum -y install httpd-tools //安装 htpasswd 工具
htpasswd -c /etc/nginx/.passwd-www www //生成用户登录的认证文件
配置nginx本地认证:
server { listen 80; server_name www.imcati.com; auth_basic "User Authentication"; auth_basic_user_file /etc/nginx/.passwd-www;
location / { root /usr/share/nginx/html; index index.html; } }
加载配置: nginx -s reload
访问页面验证:
![](https://img2018.cnblogs.com/blog/1279026/201910/1279026-20191015092452618-1019635272.png)
第二种方式:
编译Nginx时需要添加该模块: --with-http_auth_request_module
该模块可以将客户端输入的用户名、密码 username:password 通过 Base64 编码后写入 Request Headers 中,例如:www:wwww -> Authorization:Basic d2FuZzp3YW5n=
然后通过第三方程序解码后跟数据库中用户名、密码进行比较,Nginx服务器通过header的返回状态判断是否认证通过。
我们通过ldap进行第三方验证(具体参考ldap集成nginx配置),详情见:https://www.cnblogs.com/imcati/p/9372094.html
赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!
作者: imcati
出处: https://www.cnblogs.com/imcati/>
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接