nginx 无法在重新加载时解析上游名称,即使它们确实由操作系统解析

Mic*_*ale 9 nginx proxy

重新加载配置时(特别是 proxy_pass) - 偶尔会看到:nginx: [emerg] host not found in upstream

但是 - 上游服务器的名称将在 os (linux) 中解析 - 只有 nginx 似乎有这个问题。

这似乎是最近的回归 - 因为它似乎没有发生在 1.0.10 版本之前。

最近有人注意到这个吗?

试图缩小搜索范围。

jef*_*aid 6

Nginx 在内部缓存 DNS 5 分钟(不确定在以后的版本中是否可以配置)。也许你的解析器由于某种原因失败了,然后 Nginx 缓存了这个结果。

我在启用了 IPv6 的系统上看到过这种情况,因为解析器默认同时请求 IPv4 和 IPv6 记录。这可以被解析器视为导致临时 DNS 问题的洪水。我在做域名验证时在一个有很多电子邮件流量的盒子上看到了这个弹出窗口。

尝试添加:

  options single-request
Run Code Online (Sandbox Code Playgroud)

到 /etc/resolv.conf

这会导致 IPv6/v4 查找按顺序完成。

  • 我有同样的问题 - 你在配置文件中到底做了什么来解决这个问题(提前致谢) (2认同)