我们在反向代理模式下的 Apache 服务器前面安装了 nginx。
我们最初让 Apache 使用 mod_deflate 压缩文件,但事实证明这会导致 Internet Explorer 的一些实例出现问题。我猜想是 nginx 及其代理缓存对“vary”响应的处理有些奇怪,从而引发了 IE 问题。
我们现在尝试使用 nginx 本身来压缩内容,因此我们在 Apache 中禁用了 mod_deflate,并将以下内容添加到 nginx 服务器{}配置中
gzip on;
gzip_proxied any;
gzip_types text/css text/plain text/xml application/xml application/javascript application/x-javascript text/javascript application/json text/x-json;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
这没有效果。内容始终不使用 gzip 压缩,这一点已通过 Fiddler 验证。
我尝试过的事情:
- 删除 gzip_vary 和 gzip_disable 选项(后者与本网站上的一些其他问题有关)。
- 移动 gzip
- 设置放入 server{} 设置的 location{} 部分。将 gzip 设置移到 location{} 之前和之后
有人能使用这种设置吗?
操作系统:CentOS 2.6.18-274.17.1.el5,nginx版本:1.0.12
答案1
回答我自己的问题:问题似乎是“nginx reload”没有导致设置生效。发出完整的“nginx restart”可以解决这个问题。