resolver directive doesn't fallback to the system DNS resolver
Francis Daly
francis at daoine.org
Thu Jan 8 00:15:20 UTC 2015
On Wed, Jan 07, 2015 at 05:37:22PM -0600, Kunal Pariani wrote:
Hi there,
> http {
> server {
> listen 443;
> location ^~ /zss
> {
> proxy_pass https://www.example.com$request_uri;
> }
> }
> }
Ok, I see the "no resolver defined to resolve www.example.com" message
when I make a request that matches that location.
> Although i don't want to use this resolver directive here and instead just want nginx to use the system DNS resolver (from /etc/resolv.conf). Is there a way to achieve this ?
Unless something has changed recently that I haven't seen, my understanding is:
if the hostname is known at start time, nginx will use the system resolver
to resolve it, and will use the result forever
otherwise, you must use a "resolver" directive to tell nginx which name
servers to use for runtime resolution.
http://nginx.org/r/resolver
There is no default for "resolver"; if you want one to be used, you must
configure it explicitly. So I think the answer to your question is "no".
(You could probably come up with a way to read /etc/resolv.conf when it
changes, and update the nginx config and reload it; but that's a "dynamic
reconfiguration" problem, not an "nginx dynamic reconfiguration" problem.)
f
--
Francis Daly francis at daoine.org
More information about the nginx
mailing list