【问题标题】:nginx forward proxy config is causing "upstream server temporarily disabled while connecting to upstream" errornginx 转发代理配置导致“连接到上游时上游服务器暂时禁用”错误
【发布时间】:2021-03-01 20:04:23
【问题描述】:

我想将 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)

【问题讨论】:

    标签: nginx proxy


    【解决方案1】:

    DNS 解析器正在解析 IPV4 和 IPV6 地址。 IPV6 部分似乎导致上游服务器出现问题。

    关闭它会使这些错误消失。

     resolver 8.8.8.8 ipv6=off;
    

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2011-08-01
      • 2017-03-16
      相关资源
      最近更新 更多