Назад | Перейти на главную страницу

Где контейнер nginx Docker кеширует записи DNS proxy_pass?

Я запускаю Nginx в качестве обратного прокси-сервера в качестве контейнера в моем Docker Swarm. Я знаю, что при запуске он кэширует все псевдонимы для моих местоположений proxy_pass. При запуске службы в Docker Swarm службе назначается VIP, и рой направляет трафик на этот VIP в один из бэкэнд-контейнеров. Я предполагаю, что Nginx должен кэшировать VIP для моей службы, и пока я запускаю только docker service update команды, которые VIP не изменится (даже если IP-адреса серверной части могут измениться).

Однако я наблюдаю не такое поведение. Когда бы я ни бегал docker service update VIP не меняется, но мой прокси начинает отправлять ответы о неверном шлюзе. Если я тогда --force прокси-сервис для его обновления обычно снова начинает работать. Я хотел бы проверить, какие IP-адреса кэширует Nginx, но я не могу найти документацию о том, где находится этот кеш.

К вашему сведению: я экспериментировал с резолвером, который действительно работает, но это просто означает, что мой сайт не работает, пока не истечет TTL (я знаю, что могу установить низкий уровень, но не должен).