NGINX 自定义错误页面 504 超时不起作用

NGINX 自定义错误页面 504 超时不起作用

某些服务器操作可能会很慢并导致 nginx 504 超时。我尝试为 502、504 错误添加自定义错误页面,但 nginx 始终显示默认错误页面。

这是我的配置

server {
  listen 443 ssl;
  server_name falsename.name.com
  ssl_certificate path_to_cert;
  ssl_certificate_key path_to_key;
  error_page 502 504 /errors/custom_504.html;
  location /errors/ {
    autoindex on;
    root /usr/share/nginx/html;
    try_files $uri /errors/404.html;
  }
  location / {
  error_page 502 504 /errors/custom_504.html;
  proxy_pass https://10.0.0.101:8514;
  proxy_pass_request_headers on;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto https;
  proxy_set_header Connection "";
  proxy_http_version 1.1;
  }
}


答案1

您的error_page文件需要位于/usr/share/nginx/html/errors目录下,因为 nginx 会将路径附加location到指令中指定的路径之后root

答案2

你能尝试这样写吗?

error_page 502 /errors/custom_504.html;
error_page 504 /errors/custom_504.html;

答案3

事实证明上述配置有效,是 NGINX 前面的负载均衡器超时了,所以错误是从该服务器发送的,而不是 NGINX

相关内容