【发布时间】:2019-09-06 00:12:12
【问题描述】:
我正在使用 nginx 以及上游 uwsgi 应用程序。 uwsgi 应用程序使用 AWS Cloudmap 作为服务发现。
我遇到的问题是cloudmap对uwsgi主机使用DNS解析。 uwsgi 似乎解析并缓存了进入 uwsgi_pass 的所有内容。
例如在 uwsgi conf 我有uwsgi_pass uwsgi://web.sandbox:8000;
这意味着 nginx 服务器工作正常,直到 DNS 中的一个框被删除或换出。然后我收到一条错误消息,说 nginx 无法连接,因为它试图转到不存在的旧框。
No route to host) while connecting to upstream, client: 12.151.32.34, server: sandbox.mydomain.com, request: "GET /member/api/user/ HTTP/1.1", upstream: "uwsgi://172.30.1.89:8000"
我尝试使用resolver_timeout 0s;,但这似乎不影响 uwsgi_pass。
DNS TTL 设置为 10 秒,因此 nginx 不遵守该设置。
如何让 uwsgi_pass 尊重 TTL 或每次都解析域?
【问题讨论】:
标签: nginx dns uwsgi aws-cloudmap