IPv6 forward proxy

Alexander Moskalenko alexander.moskalenko at gmail.com
Thu Feb 28 09:33:07 UTC 2013


Пытаюсь сделать 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