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


9

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

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

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

最近有人注意到吗?

试图缩小搜索范围。

Answers:


6

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

我已经在启用IPv6的系统上看到了这一点,因为默认情况下解析程序会同时请求IPv4和IPv6记录。解析程序可以将其视为泛洪,从而导致临时DNS问题。进行域名验证时,我在一个包含大量电子邮件流量的盒子上看到此弹出窗口。

尝试添加:

  options single-request

到/etc/resolv.conf

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


感谢您的回答。原来这是搞砸了配置文件中的主机名的错误。哎呀。但是,无论如何,您的答案实际上确实非常有用-因此,我将其标记为正确的答案-因为它肯定会导致DNS问题(与请求一起发送)。
Michael Neale

2
我有同样的问题-您究竟在配置文件中做了什么来解决此问题(预先感谢)
Zabs 2014年

现在,您可以将value=30s选项添加到中,resolver以定义解析的IP地址应在resolver的缓存中保留多长时间。
亚历克西斯·威尔克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.