resolver: A vs AAAA

Dmitry Sivachenko trtrmitya на gmail.com
Чт Дек 15 08:49:41 UTC 2016


> On 15 Dec 2016, at 09:17, Ruslan Ermilov <ru на nginx.com> wrote:
> 
> Как уже написал Максим ранее, эти адреса используются в режиме
> round-robin, поэтому все они рано или поздно будут попробованы.
> Вот зеркальная ситуация с unroutable IPv6:
> 
> 1-й запрос:
> 2016/12/15 09:10:07 [error] 35029#0: *1 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://88.198.44.17:12345/", host: "127.1:8000"
> 2016/12/15 09:10:07 [error] 35029#0: *1 connect() to [2a01:4f8:a0:1064::2]:12345 failed (65: No route to host) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://[2a01:4f8:a0:1064::2]:12345/", host: "127.1:8000"
> [...]
> 
> 2-й запрос:
> 2016/12/15 09:10:21 [error] 35029#0: *4 connect() to [2a01:4f8:a0:1064::2]:12345 failed (65: No route to host) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://[2a01:4f8:a0:1064::2]:12345/", host: "127.1:8000"
> 2016/12/15 09:10:23 [error] 35029#0: *4 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://88.198.44.17:12345/", host: "127.1:8000"


Да, я это понял.  Я не предлагаю менять существующее поведение.
Но случай, когда у имени есть ровно два адреса (один A, второй AAAA), не предполагает балансировки между ними, это обычно одна и та же машина, просто в поддержкой и ipv4, и ipv6.

И было бы удобно уметь в конфиге указывать, что балансировать нагрузку между этими адресами не нужно (и определить, какой именно из двух адресов использовать).



Подробная информация о списке рассылки nginx-ru