我想将nginx在无法与代理成功对话时生成的502和504个错误重新映射为408个错误。
要清楚的是,当nginx返回502/504并且没有实体时,它应该返回408并且仍然没有实体。
我试图添加此指令,但它显然损坏了响应头:

error_page              502 =408;
error_page              504 =408;

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

最佳答案

http://nginx.org/r/error_page
语法:error_page代码…[=[应答]]uri;
您忘记指定uri参数(您的=408参数被解释为一个uri)。
升级版:

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

location @empty {
    return 200 '';
}

10-04 19:01