我想将nginx设置为转发代理-就像Squid可能工作的那样。
这是我的服务器模块:
server {
listen 3128;
server_name localhost;
location / {
resolver 8.8.8.8;
proxy_pass http://$http_host$uri$is_args$args;
}
}
这是我用来测试的curl命令,它在第一次,甚至第二次都起作用了。
curl -s -D - -o /dev/null -x "http://localhost:3128" http://storage.googleapis.com/my.appspot.com/test.jpeg
对应的nginx访问日志为
172.23.0.1 - - [26/Feb/2021:12:38:59 +0000] "GET http://storage.googleapis.com/my.appspot.com/test.jpeg HTTP/1.1" 200 2296040 "-" "curl/7.64.1" "-"
然而-在重复的请求中,我开始在我的nginx日志中得到这些错误(在第二次或第三次尝试之后)
2021/02/26 12:39:49 [crit] 31#31: *4 connect() to [2c0f:fb50:4002:804::2010]:80 failed (99: Address not available) while connecting to upstream, client: 172.23.0.1, server: localhost, request: "GET http://storage.googleapis.com/omgimg.appspot.com/test.jpeg HTTP/1.1", upstream: "http://[2c0f:fb50:4002:804::2010]:80/my.appspot.com/test.jpeg", host: "storage.googleapis.com"
2021/02/26 12:39:49 [warn] 31#31: *4 upstream server temporarily disabled while connecting to upstream, client: 172.23.0.1, server: localhost, request: "GET http://storage.googleapis.com/my.appspot.com/test.jpeg HTTP/1.1", upstream: "http://[2c0f:fb50:4002:804::2010]:80/my.appspot.com/test.jpeg", host: "storage.googleapis.com"
在几个请求之后,可能是什么导致了这些问题?(curl仍然可以很好地获取URL )
发布于 2021-03-01 20:04:23
DNS解析器正在解析到IPV4和IPV6地址。IPV6部件似乎导致上游服务器出现问题。
关闭它会使这些错误消失。
resolver 8.8.8.8 ipv6=off;
https://stackoverflow.com/questions/66386139
复制相似问题