Welcome! Log In Create A New Profile


Re: configuration test ignores custom resolver

Francis Daly
September 07, 2020 07:36AM
On Mon, Sep 07, 2020 at 12:02:58PM +0700, Anton Demenev wrote:

Hi there,

> Unfortunately, I can't find information about how Nginx tests configuration
> files.

As far as I know, it's pretty much "do everything apart from actually
listen on ports or write to files".

> In my case I have a two internal DNS zones, .develop and .test.
> On global http section I added my resolver:
> ...
> http {
>     resolver valid=300s;
>     resolver_timeout 1s;
> ...
> And I use proxy_pass directive with DNS name likeproxy_pass
> http://front-dev.develop;
> I expect, that Nginx start to use resolver for upstream name resolving on
> test config stage.


nginx uses the system resolver at startup, to resolve whatever "obviously
static" hostnames are in the config.

nginx uses the "resolver"-directive resolver at runtime, to resolve
whatever other hostnames apply then.

http://nginx.org/r/proxy_pass has some information about when a resolver
is used.

> But everything go wrong...
> On strace output I see, that on start Nginx uses system resolver, ignoring
> custom resolver from config.
> Can anyone help with this? What I do wrong?

https://www.nginx.com/blog/dns-service-discovery-nginx-plus/ shows some
more information; the first half of that document is valid for nginx

Probably the simplest nginx-way is to use a variable in your proxy_pass
directive, so that the hostname is not "obviously static" at startup,
and so that the system resolver will not be used then.

Good luck with it,

Francis Daly francis@daoine.org
nginx mailing list
Subject Author Posted

configuration test ignores custom resolver

Anton Demenev September 07, 2020 01:04AM

Re: configuration test ignores custom resolver

Francis Daly September 07, 2020 07:36AM

Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 82
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready