On 27/08/2018 14:30, Maxim Dounin wrote:
Hello!

On Mon, Aug 27, 2018 at 06:56:01PM +0530, Sharan J wrote:

Hi,

Sample conf:

    http{
    resolver x.x.x.x;
    server {
    server_name _;
    location / {
    proxy_pass http://somedomain.com;
    }
    }

I have nameservers configured in my resolv.conf. But, somedomain.com will be configured in x.x.x.x DNS server only. So, I have specified resolver in
my nginx.conf. However, during startup/reload I get "host not found in
upstream error". Why nginx is not considering resolver conf and searches
only in the nameservers configured in resolv.conf?

Names as written in the configuration are resolved while parsing
the configuration using the system resolver.  DNS servers defined
by the "resolver" directive are only used for dynamic / run-time
name resolution - for example, when variables are used in the
"proxy_pass" directive.

I didn't want to hijack this thread but my question seems relevant.

Is there a way to prevent dns resolution on a proxy_pass or upstream block during config parsing, or at least make it non-fatal?

background/reason: I've a backend server with dynamic IP which doesn't always resolve. It will resolve when it's expected to be working but may not be available at config parsing time.
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to