nginx 名前解決 resolver キャッシュ

https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver

結論から言うとやるべきことは2つだけ。

  1. resolverパラメータでネームサーバのIPを指定する
  2. ドメインをsetを使って変数化する

nginxでIPアドレスをキャッシュしないようにするために #nginx - Qiita 2022

nginx の proxy_pass の闇:株式会社サブスレッド 2019

set は必要。setがないと古いIPをキャッシュしたままになった nginx/1.10.1

解決策としては, httpコンテキストにおいて, resolverディレクティブを使い, 名前解決のために使うDNSを設定してやれば, TTL(Time to live, DNSから名前を引いてきた結果をキャッシュしておく時間)が切れたタイミングで名前解決をやり直す(名前を引き直す)ことが出来ます.

Nginxと名前解決の話 - Masteries 2015

なお、resolverディレクティブで valid について指定すると TTL を無視して指定した頻度で名前解決をするようです。

nginx の名前解決について #nginx - Qiita 2019

nginxのバージョンによる?のか、nginx 1.6系、1.8系ではsetでホスト名を変数に入れないとエラーになるようです。
nginx 1.10.1では、setを使わずに指定しても設定できました。

【nginx】ホスト名指定でのリバプロはresolverをセットで - ポンコツ.log 2017