当上游解析为IPv6时,Nginx无法连接

当上游解析为IPv6时,Nginx无法连接,nginx,nginx-reverse-proxy,Nginx,Nginx Reverse Proxy,我在nginx中有配置,可以执行到google-analytics.com的代理传递。但正如您所知,google analytics同时解析为ipv4,并且在解析为ipv6时有时解析为ipv6。nginx因此错误而失败 连接到[2a00:xxx:xxx:809::xxx]:443在连接到上游时失败(101:网络无法访问)。(我只是混淆了上游的真实ip) 连接到上游服务器时,上游服务器暂时禁用 为什么nginx在代理服务器中上游失败?通过解析到ipv6 server { server_n

我在nginx中有配置,可以执行到google-analytics.com的代理传递。但正如您所知,google analytics同时解析为ipv4,并且在解析为ipv6时有时解析为ipv6。nginx因此错误而失败

连接到[2a00:xxx:xxx:809::xxx]:443在连接到上游时失败(101:网络无法访问)。(我只是混淆了上游的真实ip)

连接到上游服务器时,上游服务器暂时禁用

为什么nginx在代理服务器中上游失败?通过解析到ipv6

server {
     server_name upstream.nmmapper.com;
     location /.well-known/acme-challenge/ {
        allow all;
        root /var/www/letsencrypt;
        try_files $uri =404;
        break;
     }
}
location = /analytics.js {
        proxy_set_header Accept-Encoding "";
        proxy_pass https://www.google-analytics.com/analytics.js;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }

尝试添加ipv6
listen[:]:80
指令:

server {
  listen 80;
  listen [::]:80; 
  server_name upstream.nmmapper.com;
  ...
}
对于ssl:

listen 443 ssl;
listen [::]:443 ssl;

请提供服务器块。我刚刚更新了一些示例代码块。我已经应用了更改,我会看看会发生什么,然后我会发回,如果它正常工作。我们在尝试代理firebase存储时遇到了相同的问题,但这没有解决它。URL正在解析为ipv6地址,当nginx尝试与它联系时,我们收到相同的“网络不可访问”错误。@kmgt您能解释为什么这会起作用吗?我这样问是因为这是告诉服务器在端口80的ipv6本地主机上侦听,但问题询问者的问题与向碰巧解析为ipv6地址的上游服务器的代理传递有关。