「Nginx」- no resolver defined to resolve

  CREATED BY JENKINSBOT

问题症状

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