On 09.11.2017 16:56, Maxim Dounin wrote:

Ресолвер в конфиге я включал только из-за директивы "ssl_stapling on".

Но ведь ssl_stapling - это дополнительная функциональность,
nginx же вполне может запуститься и работать вообще без ssl_stapling.

Тем более, что это был даже не запуск nginx, а просто проверка конфига.

Может быть во время проверки конфига на валидность имеет смысл
вообще не ждать по 90 секунд неизвестно чего из-за директивы
"ssl_stapling on" ?

При использовании ssl_stapling nginx использует getaddrinfo() (то
есть системный резолвер) для получения адресов на старте, а в
процессе работы - обновляет адреса с помощью заданных в директиве
resolver DNS-серверов.

Так что сколько именно секунд ждать - это вопрос в первую очередь
к настройкам системного резолвера.

В функции ngx_ssl_stapling_responder()
вызывается функция ngx_parse_url(), из нее вызывается
ngx_parse_inet_url(), оттуда вызывается ngx_inet_resolve_host()
которая вызывает getaddrinfo().

Не понятно другое,
зачем при парсинге урлов из сертификатов надо ресолвить хосты?

Мне еще ни разу не встречались удостоверяющие центры,
которые в своих сертификатах прописывали невалидные хостнеймы
для OCSP stapling. Значит и ресолвить их при старте сервиса смысла нет.

Может быть имеет смысл к функции ngx_parse_url() добавить
еще один параметр, который будет говорить,
надо ли ресолвить хост во время парсинга урла?

И тогда при использовании ssl_stapling
можно будет не ресолвить хост, и nginx будет запускаться нормально,
даже если есть временные проблемы с системным ресолвером?

Сейчас же - из-за *временных* проблем с системным ресолвером
полностью не стартует сервис nginx. Это как-то неправильно.

Может быть лучше бы он стартовал и работал,
даже если часть функциональности ssl_stapling
будет временно не доступна
из-за временно не ресолвящихся доменных имен?

Коммерческие пользователи nginx+ наверное тоже подвержены этой проблеме.

Хочется видеть nginx максимально надежным сервисом, без глюков.

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить