1

我想将 Nginx 无法与代理成功对话时生成的 502 和 504 错误重新映射为 408 错误。

需要明确的是,当 Nginx 返回 502/504 并且没有正文时,它应该返回 408 并且仍然没有正文。

我尝试添加此指令,但它显然破坏了响应标头:

error_page              502 =408;
error_page              504 =408;

知道如何重新映射 Nginx 错误代码吗?

4

2 回答 2

1

http://nginx.org/r/error_page

语法: error_pagecode ... [=[response]] uri ;

您忘记指定uri参数(您的=408参数已被解释为uri)。

更新:

location / {
    error_page 502 504 =408 @empty;
}

location @empty {
    return 200 '';
}
于 2012-12-01T03:44:47.817 回答
1

nginx 中 proxy_pass 网关关闭时返回的 HTTP 状态码是否可以更改?,这组指令似乎有效:

location = / {
  return 200;
}

location ~ ^[a-z/0-9@A-Z]*$ {
  error_page              502 504 =408 /;

  (proxy configuration goes here)
}

然而,uri 的其他值没有。

于 2012-12-01T04:21:43.393 回答