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

访问页面验证:

nginx 配置用户认证

 

nginx 配置用户认证

 

第二种方式:

编译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