很简单,只需要在配置文件里增加:
代码如下 | 复制代码 |
proxy_set_header Accept-Encoding 'gzip'; |
如果使用squid反向代理
使用squid做网站的反向代理,用户过来的请求先进入squid反向代理,然后再转入我们的Nginx后端服务器。而引发的问题是设置开启的gzip失效了。
首先将Nginx的默认gzip http version更改为1.0
代码如下 | 复制代码 |
gzip on; gzip_http_version 1.0; gzip_vary on;gzip_vary |
的作用是在http响应中增加一行
代码如下 | 复制代码 |
Vary: Accept-Encoding |
在Nginx的默认设置中,对于来自代理服务器是关闭的,可以通过
代码如下 | 复制代码 |
gzip_proxied any; |
打开。
刷新一下,Nginx的gzip已经开启了。
代码如下 | 复制代码 |
HTTP/1.0 200 OK Content-Encoding: gzip Connection: close |
Nginx默认只对text/html进行压缩
所以,开启gzip的指令如下:
代码如下 | 复制代码 |
gzip on; gzip_http_version 1.0; gzip_disable "MSIE [1-6]."; gzip_types text/plain application/x-javascript text/css text/javascript; |
关于gzip_types,如果你想让图片也开启gzip压缩,那么用以下这段吧:
代码如下 | 复制代码 |
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png; |
时间: 2024-11-10 11:39:51