ldap_server

Директива 'ldap_server' настраивает блок LDAP-сервера для аутентификации в NGINX.

Синтаксис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-сервера определяется уникальным именем и включает важные параметры, такие как адрес сервера, учетные данные для привязки (bind DN и пароль), атрибуты групп и требования к проверке пользователей. Это позволяет NGINX аутентифицировать пользователей, выполняя LDAP-запросы на основе настроенных параметров.

Основные параметры внутри блока ldap_server — это url, который указывает адрес LDAP-сервера, и binddn и binddn_passwd, которые предоставляют учетные данные для операции bind. Параметр group_attribute определяет LDAP-атрибут, используемый для указания членства в группе, тогда как group_attribute_is_dn указывает, следует ли рассматривать этот атрибут как distinguished name. Директива 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-схеме и правильно заполнены.

← Ко всем директивам