ERR_CONTENT_DECODING_FAILED

问题描述

在本地Debug,服务器已经正确返回响应内容。部署开发环境后浏览器或PostMan无法正确获取响应内容。浏览器会在控制台输出以下错误。

net::ERR_CONTENT_DECODING_FAILED 201

问题解决

因公司使用的是AWS统一的中台进行服务部署的应该不会有问题,然后就开始面向Google编程。找到Stack Overflow一篇文章AJAX returning ERR_CONTENT_DECODING_FAILED 200 using Codeigniter

const app = await NestFactory.create<NestExpressApplication>(AppModule, {
    logger: new ServerLogger(),
    cors: true,
});
app.useGlobalInterceptors(new TransformInterceptor());
app.use(compression()); // <- 问题出在这

问题出在我服务器使用了压缩中间件,并且nginx也开启了gzip然后移除了这个压缩中间件后,就正常了。

Q&A

是使用 nginx 还是使用compression呢?参考这里