nginx.service start operation timed out. Terminating.
Gena Makhomed
gmm на csdoc.com
Ср Авг 14 17:02:53 UTC 2019
On 14.08.2019 18:01, Maxim Dounin wrote:
>> Aug 14 16:22:35 vm nginx: nginx: [warn] "ssl_stapling" ignored, host not
>> found in OCSP responder "ocsp.int-x3.letsencrypt .org" in the
>> certificate "/etc/letsencrypt/live/example.com/fullchain.pem"
>> Aug 14 16:23:03 vm systemd: nginx.service start operation timed out.
>> Terminating.
>> Aug 14 16:23:03 vm systemd: Failed to start nginx - high performance web
>> server.
>> Aug 14 16:23:03 vm systemd: Unit nginx.service entered failed state.
>> Aug 14 16:23:03 vm systemd: nginx.service failed.
>>
>> Подскажите пожалуйста, каким образом можно сконфигурировать nginx, чтобы
>> он нормально запускался и работал на втором узле кластера даже в том
>> случае, когда Failover IP указывает на первый физический сервер и
>> виртуальная машина, запускаемая на втором физическом сервере не имеет
>> доступа в интернет?
> Нужно либо убрать из из конфигурации всё, что требует резолвинга
> имён, и соответственно требует доступа в интернет, либо сделать
> этот резолвинг возможным (добавив соответствующие имена в
> /etc/hosts или обеспечив работу DNS).
>
> Включённый OCSP stapling - пытается резолвить имена OCSP-серверов
> из сертификатов на старте. Он, при этом, умеет автоматически
> выключаться, если разрезолвить имя не удаётся, но, судя по всему,
> сертификатов больше одного, а системный резолвер про отсутствие
> интернета не в курсе и тупо ждёт таймаутов, так что случается уже
> таймаут на запуск nginx'а в systemd.
Да, Вы правы, сертификатов больше одного.
Выключил ssl_stapling - теперь все запускается и работает нормально.
Спасибо!
Разве есть возможность системный резолвер научить понимать что нет
интернета, если IP адрес сконфигурирован статически на CentOS 7.6?
Как это можно сделать? (Подозреваю что такой возможности нет и не будет)
Может быть можно научить nginx не использовать системный резолвер
при старте для резолвинга имен хостов OCSP responder'ов
из загружаемых им SSL сертификатов?
Не понятно, зачем nginx это делает, если в конфиге указана директива
resolver и наличие ответа от OCSP responder не является необходимым
для нормального запуска и последующей нормальной работы веб-сервера.
Может лучше было бы резолвить имена OCSP-серверов из сертификатов
не при старте а в момент первого запроса к серверу, или делать
автоматический preload ответов OCSP-серверов уже после того,
как nginx будет полностью сконфигурирован и запущен?
Потому что сейчас без интернета или при сбоях в работе системного
резолвера при включенном в конфиге OCSP stapling - nginx вообще
не запускается и это самым катастрофическим образом сказывается
на надежности работы сервера - запуск nginx завершается ошибкой
и все сайты становятся нерабочими. Это хуже чем OCSP Must-Staple.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru