我有一个服务于 Web 应用程序的 nginx 反向代理。在某些情况下,此 Web 应用程序会返回 302 重定向,我无法更改它。但是,由于某些原因,我需要将此返回状态更改为 301

我试过了

proxy_intercept_errors on;
error_page 302 =301;

但显然这是 =301 部分作为新位置。所以我正在寻找的是这样的:
proxy_intercept_errors on;
error_page 302 =301 $PROXY_HEADER_LOCATION;

我怎样才能做到这一点?

最佳答案

可以通过 $upstream_http_* 访问上游服务器的头字段

所以这对我有用:

proxy_intercept_errors on;
error_page 302 =301 $upstream_http_location;

关于redirect - 修改nginx中代理结果的HTTP状态码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28539208/

10-16 05:55