IPv6 forward proxy
Ruslan Ermilov
ru at nginx.com
Thu Feb 28 09:45:09 UTC 2013
On Thu, Feb 28, 2013 at 11:33:07AM +0200, Alexander Moskalenko wrote:
> Пытаюсь сделать forward proxy для IPv4 & IPv6.
>
> Для 4 все работает отлично, для 6 пытается ходить по 4.
> Если указать хост у которого только 6 адрес - не резолвит.
>
> В логе следующее:
> 2013/02/28 12:24:09 [debug] 5397#0: resolver qs:ipv6.l.google.com
> 2013/02/28 12:24:09 [error] 5397#0: *15 ipv6.l.google.com could not be
> resolved (3: Host not found), client: 2607:f878:3:314::42b3:e975,
> server: , request: "GET http://ipv6.google.com/ HTTP/1.0", host:
> "ipv6.google.com"
>
> 2013/02/28 12:23:09 [debug] 5397#0: resolve: "www.google.com"
> 2013/02/28 12:23:09 [debug] 5397#0: resolve cached
> 2013/02/28 12:23:09 [debug] 5397#0: malloc: 08D883E8:20
> 2013/02/28 12:23:09 [debug] 5397#0: *13 name was resolved to 74.125.239.17
> 2013/02/28 12:23:09 [debug] 5397#0: *13 name was resolved to 74.125.239.16
> 2013/02/28 12:23:09 [debug] 5397#0: *13 name was resolved to 74.125.239.18
> 2013/02/28 12:23:09 [debug] 5397#0: *13 name was resolved to 74.125.239.19
> 2013/02/28 12:23:09 [debug] 5397#0: *13 name was resolved to 74.125.239.20
> 2013/02/28 12:23:09 [debug] 5397#0: resolve name done: 0
> 2013/02/28 12:23:09 [debug] 5397#0: resolver expire
> 2013/02/28 12:23:09 [debug] 5397#0: *13 get rr peer, try: 5
> 2013/02/28 12:23:09 [debug] 5397#0: *13 get rr peer, current: 0 -4
> 2013/02/28 12:23:09 [debug] 5397#0: *13 socket 11
> 2013/02/28 12:23:09 [debug] 5397#0: *13 epoll add connection: fd:11 ev:80000005
> 2013/02/28 12:23:09 [debug] 5397#0: *13 connect to 74.125.239.17:80, fd:11 #14
> 2013/02/28 12:23:09 [debug] 5397#0: *13 http upstream connect: -2
>
> В обоих случаях коннект идет на сервер:
>
> server {
> listen [::]:8080 ipv6only=on default bind;
> resolver [2001:4860:4860::8888];
>
> location / {
> proxy_pass $scheme://$http_host$uri$is_args$args;
> proxy_bind $server_addr;
> }
> }
>
>
> Это баг или фича?
В настоящий момент резолвер в nginx не умеет резолвить IPv6-адреса.
Подробная информация о списке рассылки nginx-ru