Мы пытаемся использовать Zend_Ldap для аутентификации пользователей на нашем веб-сайте с использованием LDAP-сервера абонента. У нас есть пара клиентов уже настроен и работает, но когда мы добавили новый клиент соединение просто болтались и через 30 минут мы получили следующее (менее полезно) ошибки (!):Неисправность Подключение к удаленному серверу LDAP с использованием Zend_Ldap
0x51 (Can't contact LDAP server): ldap://x.x.x.x
Единственный шаг отладки Я знаю, что нужно использовать ldapsearch
. Если я делаю только ldapsearch -h x.x.x.x
, ничего не происходит очень долго (мне не хочется ждать 30 минут, но я предполагаю, что я получу ошибку «Не могу подключиться к LDAP-серверу»), и если я запустил ее, используя -d5
Я получаю следующий вывод.
ldap_create
ldap_url_parse_ext(ldap://x.x.x.x)
ldap_extended_operation_s
ldap_extended_operation
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP x.x.x.x:389
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying x.x.x.x:389
ldap_pvt_connect: fd: 3 tm: -1 async: 0
ldap_open_defconn: successful
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_scanf fmt ({) ber:
ber_flush2: 31 bytes to sd 3
ldap_result ld 0x7f9ad5666410 msgid 1
wait4msg ld 0x7f9ad5666410 msgid 1 (infinite timeout)
wait4msg continue ld 0x7f9ad5666410 msgid 1 all 1
** ld 0x7f9ad5666410 Connections:
* host: x.x.x.x port: 389 (default)
refcnt: 2 status: Connected
last used: Mon Jul 13 09:14:44 2015
** ld 0x7f9ad5666410 Outstanding Requests:
* msgid 1, origid 1, status InProgress
outstanding referrals 0, parent count 0
ld 0x7f9ad5666410 request count 1 (abandoned 0)
** ld 0x7f9ad5666410 Response Queue:
Empty
ld 0x7f9ad5666410 response count 0
ldap_chkResponseList ld 0x7f9ad5666410 msgid 1 all 1
ldap_chkResponseList returns ld 0x7f9ad5666410 NULL
ldap_int_select
<20+ minute delay>
read1msg: ld 0x7f9ad5666410 msgid 1 all 1
ber_get_next
ldap_err2string
ldap_start_tls: Can't contact LDAP server (-1)
ldap_free_request (origid 1, msgid 1)
ldap_free_connection 1 1
ldap_free_connection: actually freed
сервер LDAP клиента является Windows Server 2008 R2 и мы используем Ubuntu 12.04.4 LTS с ldapsearch из OpenLDAP 2.4.28.
Любые предложения по устранению неполадок в следующем? Я предполагаю, что это где-то в сети клиентов, но я хочу проверить свой конец как можно больше, прежде чем я начну их спрашивать.
Update:
Я добавил:
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
на мой PHP скрипт и получил тот же результат, что вернулся из ldapsearch.