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

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

重新加载配置时(特别是对于 proxy_pass)偶尔会出现以下情况:nginx:[emerg] 上游未找到主机

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

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

最近有人注意到这个吗?

尝试缩小搜索范围。

答案1

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

我在启用 IPv6 的系统上看到过这种情况,因为默认情况下解析器会同时请求 IPv4 和 IPv6 记录。这可以看作是解析器的洪水攻击,导致出现暂时的 DNS 问题。我在进行域名验证时,在一个有大量电子邮件流量的框上看到了这个弹出窗口。

尝试添加:

  options single-request

到 /etc/resolv.conf

这会导致 IPv6/v4 查找按顺序进行。

相关内容