修改 nginx proxy_pass 响应

修改 nginx proxy_pass 响应

我有一个 nginx,它将请求代理到几个第三方 API(使用 proxy_pass),用于缓存目的。其中一个 API 始终返回 200 个响应,错误状态代码隐藏在 JSON 响应主体中。这导致 nginx 缓存错误响应,这是不希望的。

问题是:有没有办法从 proxy_pass 拦截来自 API 的响应,提取错误代码并将其设置为 HTTP 响应状态代码?

我尝试使用 perl 和 njs 模块,但我开始认为这是不可能的,我是否遗漏了什么?或者也许还有其他我尚未考虑过的方法。

谢谢。

相关内容