wan*_*oel 5 nginx nginx-reverse-proxy
我在 nginx 中配置了对 google-analytics.com 执行 proxy_pass 的配置。但是正如您所知,google-analytics 解析为 ipv4,有时解析为 ipv6,当它确实解析为 ipv6 时,nginx 因此错误而失败。
connect() to [2a00:xxx:xxx:809::xxx]:443 连接到上游时失败(101:网络无法访问)。(我只是混淆了上游的真实ip)
连接上游时上游服务器暂时禁用
为什么proxy_pass 中上游的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;
}
Run Code Online (Sandbox Code Playgroud)
尝试添加 ipv6listen [::]:80指令:
server {
listen 80;
listen [::]:80;
server_name upstream.nmmapper.com;
...
}
Run Code Online (Sandbox Code Playgroud)
对于 SSL:
listen 443 ssl;
listen [::]:443 ssl;
Run Code Online (Sandbox Code Playgroud)