在nginx中修改代理结果的HTTP状态码

modify HTTP status code of proxy result in nginx

我有一个为 Web 应用程序服务的 nginx 反向代理。此网络应用 returns 在某些情况下 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;