nginx Docker 容器缓存 proxy_pass DNS 记录在哪里?

nginx Docker 容器缓存 proxy_pass DNS 记录在哪里?

我正在 Docker Swarm 中以容器的形式运行 Nginx 作为反向代理。我知道在启动时它会缓存我的 proxy_pass 位置的所有别名。在 Docker Swarm 中运行服务时,该服务会被分配一个 VIP,并且 Swarm 会将发往该 VIP 的流量引导到后端容器之一。我的假设是 Nginx 应该为我的服务缓存 VIP,只要我只运行docker service update命令,VIP 就不会改变(即使后端 IP 可能会改变)。

但这不是我看到的行为。每当我运行docker service updateVIP 时,它都不会改变,但是我的代理开始发送 Bad Gateway 响应。如果我--force更新代理服务,它通常会再次开始工作。我想验证 Nginx 正在缓存哪些 IP,但我找不到有关此缓存驻留位置的文档。

仅供参考:我尝试过使用解析器,它确实有效,但这只意味着我的网站将处于宕机状态,直到 TTL 过期(我知道我可以将其设置得较低,但我不应该这样做)。

相关内容