关于Nginx配置文件Gzip的配置问题:不太明白这个gzip_proxied的作用是什么,应该如何正确配置呢?
关于Nginx配置文件Gzip的配置问题:不太明白这个gzip_proxied的作用是什么,应该如何正确配置呢?
官方说明如下:
Syntax: gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
Default: gzip_proxied off;
Context: http, server, location
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
题主这么说,应该是对
gzip_comp_level
,gzip_types
,gzip_vary
等配置已经了解了。我们来谈一下这个
gzip_proxied
Nginx作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用gzip压缩,是否压缩取决于请求头中的“Via”字段,指令中可以同时指定多个不同的参数,意义如下:
expired - 启用压缩,如果header头中包含 "Expires" 头信息
no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息
no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息
auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息
any - 无条件启用压缩
楼上的解释是完全错误的。不知楼上如何解释“是否压缩取决于请求头中的“Via”字段”这句话?
正确答案是:此指令指示的是当nginx自己处在反代之后时,是否开启gzip。只有这样,请求头中才会包含
Via
字段。gzip_proxied 困惑
该参数应该有两个点让人困惑:
困惑一:处理对象
gzip_proxied 处理对象的困惑:
分析
nginx 开启gzip压缩的原因,是为了减少网络传输速度
以php-fpm举例:
php-fpm 通常是跟nginx的 fastcgi 模块结合使用
php-fpm 并非一定在本地,也可以是其它服务器发送过来,接收数据时也应该nginx支持gzip发送出去,理论分析上,gzip_proxied 应该同时支持服务器和高级语言发送过来的数据
困惑一:参数值具体实现
待续...
以上是我分析的结果,未必是真实,希望大佬指导下
压缩这块应该涉及到4大模块
这4大模块如何结合使用,希望大佬写一篇文章