重新加载配置时(特别是对于 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 查找按顺序进行。