IPv6 forward proxy

Alexander Moskalenko alexander.moskalenko at gmail.com
Thu Feb 28 09:43:49 UTC 2013


nginx version: nginx/1.3.13

2013/2/28 Alexander Moskalenko <alexander.moskalenko at gmail.com>:
> Пытаюсь сделать 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-ru