原文链接:「Nginx」- no resolver defined to resolve
文章分类:「Web_Application_Server,_LB_and_HA:Nginx,_Tengine,_OpenResty:z.Error_List_(Nginx_and_Tengine):no_resolver_defined_to_resolve」
文章标识:「a8cf2f2c」
文章分类:「Web_Application_Server,_LB_and_HA:Nginx,_Tengine,_OpenResty:z.Error_List_(Nginx_and_Tengine):no_resolver_defined_to_resolve」
文章标识:「a8cf2f2c」
问题症状
Nginx的错误日志里,有如下信息:
no resolver defined to resolve example.com
问题原因
这已经和明显了,就是提示你没有定义resolver指令。
Nginx就这样,它不理会系统的DNS(/etc/resolv.conf)配置。
如果你在配置文件中使用了域名或主机名,一定要配置resolver指令。
解决方案
配置resolver指令,指定DNS服务器。
详细参考「resolver」手册。
# 在k8s中
「kubernetes dns resolver in nginx」
让它走集群的DNS:resolver kube-dns.kube-system.svc.cluster.local
这里要使用FQDN,否则容器里的/etc/resolv.conf中就要配置search指令。
关于「search」指令可以参考「In /etc/resolv.conf, what exactly does the “search” configuration option do?」一文。
相关链接
- Websites show 502 Bad Gateway: no resolver defined to resolve example.com
- Nginx resolver address from /etc/resolv.conf
- A Quick Review of Key DNS Features
- Module ngx_http_upstream_module/upstream
- Module ngx_http_core_module/resolver