Apache/PHP ldap прекращает работать. Требует перезапуска апача

У меня в настоящее время есть установка, где пользователи входят в систему веб-сайта с помощью учетных данных LDAP. Это является все внутренним, таким образом, я действительно не забочусь о тонне о сертификатах. Так, в моем /etc/openldap/ldap.conf файл я имею TLS_REQCERT never. Прежде, чем добавить, что в файл я всегда получал ошибку Error Binding to LDAP: TLS: hostname does not match CN in peer certificate. После добавления, что все, казалось, хорошо работало. Однако теперь я нахожу, что через какое-то время, возможно, несколько часов ко дню, логины перестанут работать снова, и я начну получать ту ошибку. Если я перезапускаю апача, все хорошо работает снова некоторое время. Затем ошибка открывается снова. Что могло заставлять это продолжать происходить? Сервер является CentOS 6.5.

4
задан 10 October 2014 в 17:27
2 ответа

Вы должны проверить действительность сертификата, возможно, проблема связана с этой ошибкой:

TLS_REQCERT = никогда не игнорируется, когда срок действия сертификата эмитента истек

Резюме:

Описание проблемы :

Параметр TLS_REQCERT = никогда игнорируется, если сертификат сервера до / после срока действия . В этот момент происходит сбой подключения.

Номер версии-выпуска выбранного компонента (если применимо):

openldap-2.4.23-15.el6
openldap-2.4.24-3.fc15

Как воспроизводимый:

Настройте сертификаты в slapd, чтобы разрешить TLS / SSL. Сертификат может быть недопустимый (неверный эмитент, неверное имя сервера и т. д.).

Выполнить: LDAPTLS_REQCERT = never ldapsearch -x -ZZ ...

Выполнение будет успешным, будет использоваться TLS.

Изменить время вашей системы истекло по истечении срока действия сертификата. Выполните ту же команду еще раз. На этот раз команда завершится ошибкой.


Обновление:
Вы отключили проверку сертификата в OpenLDAP ldap.conf (который должен применимо и к php-ldap).
Добавьте в свой PHP-код перед ldap_connect, укажите следующее:

putenv('LDAPTLS_REQCERT=never');

Нужна помощь в игнорировании сертификата сервера при привязке к серверу LDAP с использованием PHP

Как решить ldap_start_tls () «Невозможно запустить TLS: ошибка подключения» в PHP ?


Обновление 2:

Другая проблема может заключаться в том, что сервер apache неправильно принимает файл конфигурации ldap.conf , просмотрите эти ссылки, где описана проблема:

http://php.net/manual/en/function.ldap-connect.php#36156

Надеюсь, это поможет

0
ответ дан 3 December 2019 в 04:26

Это дикий снимок в темноте, поэтому, если он ошибается, я прошу прощения за то, что привел вас в неправильном направлении. Возможно, в вашей службе ldap заканчиваются доступные файловые дескрипторы (каждое сетевое соединение потребляет один FD). На своих серверах ldap я увеличил ограничения по умолчанию:

OVZ-CentOS65[root@ldap1 ~]# more /etc/security/limits.d/ldap.conf 
@ldap           soft    nofile          100000
@ldap           hard    nofile          200000

Попробуйте добавить это (или отрегулируйте любой файл, который в настоящее время может контролировать ограничения пользователей, групп или процессов для ldap) и перезапустите службу ldap. Посмотрите, сохранятся ли симптомы с apache.

0
ответ дан 3 December 2019 в 04:26

Теги

Похожие вопросы