我们在 nginx 日志中看到以下错误。该错误有据可查,但我们尚未找出导致该错误的原因。同时,当发生此错误时,是否可以显示自定义错误页面? 就像我们可以对 http 500 错误使用 error_page 指令一样。
7252#0: *2711 upstream timed out (110: Connection timed out) while connecting to upstream, client: x.x.x.x, server: domain.com, request: "GET /a_page.php?etc.... HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "thehost.com", referrer: "http://thereferrer.com/"
答案1
我认为 110 错误实际上并不是返回给客户端的错误,更有可能是 504 网关超时。您可以定义自定义错误页面并输入相应的错误编号,以便在 nginx 配置中呈现。如果您的 nginx 配置中已有此内容,只需添加 504 即可。
网站范围:
server {
listen 80;
error_page 504 /errorpage.htm;
至于实际问题,很可能是 fastcgi 向 nginx 返回数据的时间太长。请尝试增加 nginx.conf 中的 fastcgi_read_timeout。否则,请确保 fastcgi 运行正常。