我想将 Nginx 无法与代理成功对话时生成的 502 和 504 错误重新映射为 408 错误。
需要明确的是,当 Nginx 返回 502/504 并且没有正文时,它应该返回 408 并且仍然没有正文。
我尝试添加此指令,但它显然破坏了响应标头:
error_page 502 =408;
error_page 504 =408;
知道如何重新映射 Nginx 错误代码吗?
语法:
error_page
code ... [=[response]] uri ;
您忘记指定uri
参数(您的=408
参数已被解释为uri)。
更新:
location / {
error_page 502 504 =408 @empty;
}
location @empty {
return 200 '';
}
从nginx 中 proxy_pass 网关关闭时返回的 HTTP 状态码是否可以更改?,这组指令似乎有效:
location = / {
return 200;
}
location ~ ^[a-z/0-9@A-Z]*$ {
error_page 502 504 =408 /;
(proxy configuration goes here)
}
然而,uri 的其他值没有。