线上系统启用gzip压缩,在实际运行中遇到的问题做如下整理:
1. 用于GZip压缩的临时文件目录要给予权限,IUSR_MachineName或everyone的写权限
2. 启用以后重启IIS,访问网站可以看到GZip后的文件会在临时文件夹出现,用Firebug的“Network网络”开启,或者Fiddler工具可以看到启用了GZip, deflate
3. 如果你的网站使用了CDN,要联系你的CDN厂商,那边的配置是否支持了GZip,否则的话,IIS要做服务端和客户端的匹配,如果IIS不确定客户端是否支持GZip就不会发送压缩内容,所以一定要确定CDN那边的配置没有问题。CDN服务商的节点是抓取网站内容,CDN节点就是IIS客户端,这样就可能抓取到没有压缩过的内容。这样的话,即使你在IIS配置了GZip,用Fiddler工具等查看还是没有压缩的。
4. GZip会对htm做压缩,但如果你的网站用了“伪静态”,就不会压缩,对aspx还是会压缩的。这个问题在php下有方法解决,在.net下需要自己写程序解决。