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