Welcome! Log In Create A New Profile

Advanced

Re: resolver: A vs AAAA

Maxim Dounin
December 14, 2016 12:52PM
Hello!

On Wed, Dec 14, 2016 at 08:06:31PM +0300, Dmitry Sivachenko wrote:

> > On 14 Dec 2016, at 19:59, Maxim Dounin <mdounin@mdounin.ru> wrote:
> >
> > Если в конфиге действительно proxy_pass на имя - то при чём тут
> > resolver? Первыми будет использоваться IPv4-адреса из-за порядка
> > сохранения записей, который случается в ngx_inet_resolve_host().
> >
> > Однако как и в случае resolver'а - порядок ни на что не влияет,
> > кроме, может быть, отдельных краевых эффектов, т.к. все полученные
> > адреса будут использоватся и запросы между ними будут
> > балансироваться по round-robin.
>
> Допустим, что nginx работает на ipv6-only сервере, а some.ip (аргумент proxy_pass) -- имеет и A, и AAAA.
> Я не хочу чтобы nginx вообще пытался устанавливать соединение к ipv4-адресу.

Если у вас ipv6-only сервер - так и будет, т.к. nginx использует
getaddrinfo() с флагом AI_ADDRCONFIG, и неподдерживаемые адреса
система просто не вернёт nginx'у.

> Кроме того, непонятно зачем вообще балансировать между A и AAAA адресами?

Потому что при использовании конструкции

proxy_pass http://some.domain.name;

nginx получает все адреса для заданного имени и делает между ними
балансировку по round-robin. Такое поведение в явном виде
документировано, http://nginx.org/r/proxy_pass/ru:

: Если доменному имени соответствует несколько адресов, то все они
: будут использоваться по очереди (round-robin). Кроме того, в
: качестве адреса можно указать группу серверов.

Такой подход позволяет задавать группы серверов в DNS, а не явно в
конфиге, и много где используется. В том числе - именно так
работает обычная балансировка с помощью нескольких адресов в DNS,
только клиентов много, а не один, как в случае с nginx'ом.

Какие именно адреса использовать - nginx'у не важно, что есть - то
и будет использовать.

--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

resolver: A vs AAAA

Dmitry Sivachenko December 14, 2016 10:08AM

Re: resolver: A vs AAAA

ru@nginx.com December 14, 2016 11:26AM

Re: resolver: A vs AAAA

Maxim Dounin December 14, 2016 12:00PM

Re: resolver: A vs AAAA

Dmitry Sivachenko December 14, 2016 12:08PM

Re: resolver: A vs AAAA

Maxim Dounin December 14, 2016 12:52PM

Re: resolver: A vs AAAA

Dmitry Sivachenko December 14, 2016 01:40PM

Re: resolver: A vs AAAA

ru@nginx.com December 15, 2016 01:18AM

Re: resolver: A vs AAAA

Dmitry Sivachenko December 15, 2016 03:50AM

Re: resolver: A vs AAAA

Dmitry Morozovsky December 15, 2016 04:14AM

Re: resolver: A vs AAAA

Dmitry Morozovsky December 15, 2016 04:14AM

Re: resolver: A vs AAAA

Andrey Kopeyko December 15, 2016 05:28AM

Re: resolver: A vs AAAA

Dmitry Sivachenko December 14, 2016 01:50PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 301
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready