Задать вопрос

Как обработать ошибку «upstream timed out (110: Connection timed out)» в nginx?

Приветствую. суть такова:
Работает связка nginx+php-fpm.
пытаюсь получить данные из нашего контроллера домена с помощью OpenLdap
$ldap = ldap_connect($ldaphost,$ldapport) or die("Cant connect to LDAP Server");
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); //Включаем LDAP протокол версии 3
if ($ldap)
{
            $bind = ldap_bind($ldap,$login,$password);
}


Когда контроллер домена доступен и работает, проблем нет, все как надо.
когда контроллер недоступен die("Cant connect to LDAP Server"); и if ($ldap) не помогают. т е $ldap в любом случае не false. это нормально т к в документации сказано что "Когда используется OpenLDAP 2.x.x , ldap_connect() будет всегда возвращать resource, поскольку она фактически не соединяется, а только инициализирует параметры соединения. "

апач, когда контроллер не доступен, пытается достучатся, не может, забивает и выполняет код дальше. $bind = ldap_bind($ldap,$login,$password) тупо возвращает false/

Но nginx на этой функции валится, в логи пишет
[error] 32059#0: *3002 upstream timed out (110: Connection timed out) while reading response header from upstream


Как мне обработать этот участок кода, что бы хотя бы выдать сообщение аля "Контроллер домена помер, обращайтесь к сисадмину". try catch не помог.
  • Вопрос задан
  • 676 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@omsknews
error_page 500 502 503 504 /telToAdmin.html;
такая расчудесная строка не работает или не устраивает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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