ldap_server
'ldap_server' 指令在 NGINX 中配置用于身份验证的 LDAP 服务器块。
LDAP Authentication module for NGINX
·
http
语法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 服务器地址),以及 binddn 和 binddn_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 模式中存在并已正确填充。