Nginx 子请求响应编码问题

Nginx subrequest response encoding issue

我有一个带位置的 Nginx 服务器和简单的 NJS 场景,我需要在其中解析 surequest 的响应。来自 API 的响应有这样一个 header:

"Content-Type": "application/json; charset=utf-8", "Cache-Control": "no-store", "Content-Encoding": "gzip", ...

当我尝试读取 responseBody 时,它如下所示:

\u001f�\b\u0000\u0000\u0000\u0000\u0000\u0004\u0000��\u0007\u001cI�%&/m�{J�J��t�\b�\u0013$ؐ@\u0010������\u001diG#)�*��eVe]f\u0016@�흼��{���{���;�N'

该问题仅在 NJS 中重现。它看起来像一个编码问题。有人知道如何修复它并解析这样的响应吗?

PS:我已尝试检查来自另一个 API 的 JSON 响应并遇到相同的编码问题。 Nginx版本为1.19.1,NJS为0.4.2

问题出在 gzip 编码上。解码响应帮助了我。我已将此指令添加到位置,现在它工作正常。

gunzip on;