ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
Maxim Dounin
mdounin на mdounin.ru
Чт Ноя 9 14:56:38 UTC 2017
Hello!
On Thu, Nov 09, 2017 at 04:36:19PM +0200, Gena Makhomed wrote:
> On 09.11.2017 15:41, Илья Шипицин wrote:
>
> >> в момент запуска nginx доступен ресолвер ?
>
> В конфиге у меня ресолвер вот так прописан:
>
> ssl_stapling on;
> resolver 8.8.8.8 8.8.4.4 ipv6=off;
>
> Да, вполне может быть и так, что не были доступны ресолверы,
> иначе я не знаю чем еще объяснить, почему проверка конфига
>
> $ nginx -T | grep "server {" | wc -l
> 21
>
> $ nginx -T | grep "ssl_certificate_key" | wc -l
> 7
>
> заняла более 90 секунд. Доступ ко всем бекендам прописан
> через статические IP внутренней сети, там ресолвер не используется:
>
> proxy_pass http://172.22.22.121/;
>
> Ресолвер в конфиге я включал только из-за директивы "ssl_stapling on".
>
> Но ведь ssl_stapling - это дополнительная функциональность,
> nginx же вполне может запуститься и работать вообще без ssl_stapling.
>
> Тем более, что это был даже не запуск nginx, а просто проверка конфига.
>
> Может быть во время проверки конфига на валидность имеет смысл
> вообще не ждать по 90 секунд неизвестно чего из-за директивы
> "ssl_stapling on" ?
При использовании ssl_stapling nginx использует getaddrinfo() (то
есть системный резолвер) для получения адресов на старте, а в
процессе работы - обновляет адреса с помощью заданных в директиве
resolver DNS-серверов.
Так что сколько именно секунд ждать - это вопрос в первую очередь
к настройкам системного резолвера.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru