Назад | Перейти на главную страницу

openldap с haproxy - (ldap_result () не удалось: невозможно связаться с сервером LDAP)

У меня проблема с проксированием openldap через haproxy. Аутентификация отлично работает в CentOS (7.5.1804) и Debian (9.4). Единственная проблема в том, что я получаю ошибки в syslog и authlog:

CentOS:
nslcd[10082]: [9f6e5f] ldap_result() failed: Can't contact LDAP server

Debian:
nscd: nss_ldap: reconnected to LDAP server ldap://haproxy.exemple.com after 1 attempt
Вся проблема исчезает, когда я меняю конечную точку LDAP напрямую на любой сервер ldap из конфигурации ниже:

global
  log           127.0.0.1 local3
  pidfile       /var/run/haproxy.pid
  chroot        /var/lib/haproxy
  maxconn       8192
  user          haproxy
  group         haproxy
  daemon
  stats socket /var/lib/haproxy/stats
  tune.ssl.default-dh-param 2048

frontend ldap_service_front mode tcp bind 10.0.0.2:389 описание Параметр службы LDAP параметр socket-stats параметр tcpka timeout client 10s default_backend ldap_service_back

backend ldap_service_back server ldap01 10.0.0.3:389 проверка падения 3 рост 5 inter 5000 вес 10 сервер ldap02 10.0.0.4:389 проверка падения 3 рост 5 inter 5000 вес 10 сервер ldap03 10.0.0.5:389 проверка падения 3 рост 5 inter 5000 вес 10 server ldap04 10.0.0.6:389 проверить падение 3 подъем 5 интер 5000 вес 10

режим баланс tcp наименьшее соединение тип таблицы stick-table размер IP 200k истекает 30 мин тайм-аут сервер 12 сек таймаут соединение 10 сек опция tcpka option tcp-check tcp-check порт подключения 389 tcp-check send-binary 300c0201 tcp-check send-binary 01 tcp-check send- двоичный 6007 tcp-check send-binary 0201 tcp-check send-binary 03 tcp-check send-binary 04008000 tcp-check ожидает двоичный 0a0100 tcp-check send-binary 30050201034200

frontend ldaps_service_front mode tcp bind 10.0.0.2:636 ssl crt /etc/haproxy/ssl/chain.pem no-sslv3 no-tlsv10 description LDAPS Service option socket-stats option tcpka timeout client 10s default_backend ldaps_service_back

backend ldaps_service_back server ldap01 10.0.0.3:636 check ssl verify none fall 3 rise 5 inter 5000 weight 10 server ldap02 10.0.0.4:636 check ssl verify none fall 3 up 5 inter 5000 weight 10 server ldap03 10.0.0.5:636 проверка ssl verify нет падения 3 подъем 5 интер 5000 вес 10 сервер ldap04 10.0.0.6:636 проверка ssl проверить нет падения 3 подъем 5 интер 5000 вес 10

режим баланс tcp тайм-аут минимального соединения сервер 12 сек таймаут соединение 10 сек опция опция tcpka tcp-check tcp-check порт подключения 636 ssl tcp-check send-binary 300c0201 tcp-check send-binary 01 tcp-check send-binary 6007 tcp-check send-binary 0201 tcp-check send-binary 03 tcp-check send-binary 04008000 tcp-check expect двоичный 0a0100 tcp-check send-binary 30050201034200


So, my question is: did I miss something in the haproxy configuration? I was trying to set up the idle_timelimit in nslcd.conf, but it didn't help at all.

More details that might help:

haproxy: HA-Proxy version 1.8.12-1~bpo9+1
openldap: slapd 2.4.44
nslcd: nss-pam-ldapd 0.8.13
frontend ldap_service_front   
   timeout client        10s

скорее всего вызывает отключение на холостом ходу.

Если вы установите nslcd idle_timelimit меньше, чем timeout client для haproxy вы не должны получать эти сообщения.