我阅读了很多关于上游超时的主题和问题,但在这些情况下,是上游超时。在我的场景中,上游没有超时,尽管 nginx 说它是,并且在重新启动 nginx(并且保持上游不变)后,它会很快再次响应。这似乎只发生在几个小时(通常是一夜之间)没有请求的情况下。
2021/07/26 23:54:39 [error] 27583#27583: *2354 upstream timed out (110: Connection timed out) while connecting to upstream, client: *.*.*.*, server: , request: "GET /my/path HTTP/1.1", upstream: "https://*.*.*.*/my/path host: "myhost.com.au"
除了每小时通过 cron 重新启动 nginx 之外,可能是什么原因造成的?
这是相关位置的 conf;
location / {
proxy_redirect off;
proxy_pass_header Server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host remote-host.com;
proxy_set_header X-NginX-Proxy true;
proxy_connect_timeout 5;
proxy_read_timeout 240;
proxy_intercept_errors on;
proxy_pass https://remote-host.com:443;
}
也许我放弃了 read_timeout?即使上游没有超时?