在Ngnix中禁用对压缩后的响应进行解压缩

时间:2018-07-16 14:07:11

标签: nginx nginx-reverse-proxy

我有5个微服务已启动并正在运行。其中之一是充当网关的nginx服务器(其他服务的反向代理)。还有另一种称为“ Web”的服务,它是为所有客户端静态捆绑包提供服务的Nginx服务器。我已在Web Nginx服务器中启用gziping。但是,当压缩的响应通过网关nginx服务器到达时,它将对文件进行解压缩并将其发送回客户端。我尝试在网关Nginx服务器中设置gzip offgunzip off,但是它不起作用。

这是Web-nginx服务器的配置:

gzip on;
gzip_comp_level 3;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_min_length  100;
gzip_buffers  4 32k;

这是网关ngnix服务器的配置:

gzip off;
gunzip off;

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:2)

您需要将gzip_proxied any;添加到后端nginx服务器(提供静态文件

即使对于通过代理连接到我们的客户,也可以压缩数据, 由“ Via”标头标识(CloudFront / Cloudflare必需)。

默认值为 off ,它会忽略所有其他参数,从而禁用所有代理请求的压缩;有关更多信息,请查看nginx docs

答案 1 :(得分:0)

我发现了一个错误,我无法使用proxy_pass将标头从代理服务器转发到实际服务器。在上述答案的帮助下。它起作用了。