ldap_server

'ldap_server' 指令在 NGINX 中配置用于身份验证的 LDAP 服务器块。

语法ldap_server name { url url; binddn string; binddn_passwd string; group_attribute string; group_attribute_is_dn on | off; require valid_user | user | group; satisfy all | any; max_down_retries number; connections number; ssl_check_cert on | off; ssl_ca_file path; ... };
默认值none
上下文http
参数block (1)

说明

'ldap_server' 指令在 http 上下文中使用,用于定义 NGINX 与一个或多个 LDAP 服务器通信以进行用户身份验证所需的参数。每个 LDAP 服务器块都以唯一名称定义,并包含关键参数,例如服务器 URL、绑定凭证(bind DN 和密码)、组属性以及用户验证要求。这样可以使 NGINX 根据配置的设置通过执行 LDAP 查询来验证用户身份。

ldap_server 块中的主要参数包括 url(指定 LDAP 服务器地址),以及 binddnbinddn_passwd(提供 bind 操作的凭证)。group_attribute 参数定义用于指定组成员关系的 LDAP 属性,而 group_attribute_is_dn 表示该属性是否应视为可区分名称。require 指令指定需要哪种用户认证,例如要求有效用户或组成员资格。附加配置,例如 ssl_check_cert,通过在使用安全 LDAP 连接 (LDAPS) 时确保证书被验证来提供安全性。总体而言,ldap_server 指令可实现与 LDAP 目录进行灵活且安全的身份验证集成。

配置示例

http {
    ldap_server test1 {
        url ldap://192.168.0.1:3268/DC=test,DC=local?sAMAccountName?sub?(objectClass=person);
        binddn "TEST\\LDAPUSER";
        binddn_passwd LDAPPASSWORD;
        group_attribute uniquemember;
        group_attribute_is_dn on;
        require valid_user;
    }

    ldap_server test2 {
        url ldap://192.168.0.2:3268/DC=test,DC=local?sAMAccountName?sub?(objectClass=person);
        binddn "TEST\\LDAPUSER";
        binddn_passwd LDAPPASSWORD;
        group_attribute uniquemember;
        group_attribute_is_dn on;
        require valid_user;
    }

    server {
        listen 8000;
        server_name localhost;

        auth_ldap "Forbidden";
        auth_ldap_servers test1;
        auth_ldap_servers test2;

        location / {
            root html;
            index index.html index.htm;
        }
    }
}

确保 LDAP URL 格式正确,包括协议(ldap:// 或 ldaps://)。

必须正确指定 bind DN 以避免认证错误。

检查选项 ssl_check_cert 是否已启用;对于 LDAPS 连接可能需要合适的 CA 证书。

如果使用组属性,请确认它们在 LDAP 模式中存在并已正确填充。

← 返回所有指令