禁止在 Nginx 中解压缩拉链响应
Disable unzipping the zipped response in Ngnix
我有 5 个微服务正在运行 运行。其中之一是充当网关的 nginx 服务器(其他服务的反向代理)。还有另一个名为 'web' 的服务,它是一个为所有客户端静态包提供服务的 nginx 服务器。我在 web nginx 服务器中启用了 gzipping。但是当压缩响应通过网关 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;
感谢任何形式的帮助。
您需要将 gzip_proxied any;
添加到后端 nginx 服务器(服务静态文件)
压缩数据,即使是通过代理连接到我们的客户端,
由 "Via" header 标识(CloudFront/Cloudflare 需要)。
默认值是off,它禁用所有代理请求的压缩,忽略其他参数;有关更多信息,请查看 nginx docs
我发现了错误,我未能使用 proxy_pass
将 header 从代理服务器转发到实际服务器。在上述答案的帮助下。成功了。
我有 5 个微服务正在运行 运行。其中之一是充当网关的 nginx 服务器(其他服务的反向代理)。还有另一个名为 'web' 的服务,它是一个为所有客户端静态包提供服务的 nginx 服务器。我在 web nginx 服务器中启用了 gzipping。但是当压缩响应通过网关 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;
感谢任何形式的帮助。
您需要将 gzip_proxied any;
添加到后端 nginx 服务器(服务静态文件)
压缩数据,即使是通过代理连接到我们的客户端, 由 "Via" header 标识(CloudFront/Cloudflare 需要)。
默认值是off,它禁用所有代理请求的压缩,忽略其他参数;有关更多信息,请查看 nginx docs
我发现了错误,我未能使用 proxy_pass
将 header 从代理服务器转发到实际服务器。在上述答案的帮助下。成功了。