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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru