我有5个微服务已启动并正在运行。其中之一是充当网关的nginx服务器(其他服务的反向代理)。还有另一种称为“ Web”的服务,它是为所有客户端静态捆绑包提供服务的Nginx服务器。我已在Web Nginx服务器中启用gziping。但是,当压缩的响应通过网关nginx服务器到达时,它将对文件进行解压缩并将其发送回客户端。我尝试在网关Nginx服务器中设置gzip off
和gunzip 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;
感谢您提供任何帮助。
答案 0 :(得分:2)
您需要将gzip_proxied any;
添加到后端nginx服务器(提供静态文件)
即使对于通过代理连接到我们的客户,也可以压缩数据, 由“ Via”标头标识(CloudFront / Cloudflare必需)。
默认值为 off ,它会忽略所有其他参数,从而禁用所有代理请求的压缩;有关更多信息,请查看nginx docs
答案 1 :(得分:0)
我发现了一个错误,我无法使用proxy_pass
将标头从代理服务器转发到实际服务器。在上述答案的帮助下。它起作用了。