nginx
network_error
ai_generated
true
上游DNS解析超时
upstream DNS resolution timed out
ID: nginx/upstream-dns-resolution-timed-out
88%修复率
86%置信度
1证据数
2023-11-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| nginx 1.18.0 | active | — | — | — |
| nginx 1.20.2 | active | — | — | — |
| nginx 1.22.1 | active | — | — | — |
| nginx 1.24.0 | active | — | — | — |
| nginx 1.25.3 | active | — | — | — |
根因分析
Nginx无法解析上游主机名,原因是未配置解析器、DNS服务器不可达或主机名无效。
English
Nginx cannot resolve the upstream hostname because the resolver is not configured, the DNS server is unreachable, or the hostname is invalid.
官方文档
http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver解决方案
-
在http块中配置有效的解析器:resolver 10.0.0.53 valid=10s;(替换为你的DNS服务器IP)
-
如果使用Docker,在docker-compose.yml中设置dns:或在docker run中添加--dns标志
-
检查 /etc/resolv.conf 并确保nginx具有到DNS服务器的网络访问权限
无效尝试
常见但无效的做法:
-
60% 失败
If the server has no outbound internet access, public DNS won't work; need internal DNS.
-
40% 失败
This bypasses DNS but makes the config brittle if IPs change; not a proper fix.
-
80% 失败
If DNS is unreachable, timeout increase just delays the error.