在昨天服务器还没重装之前,这个服务器已经开启了Gzip,去年配置的时候就很波折,因为配置文件在C盘,所以重装后Gzip就没了。
今天理论上第二次配置Gzip应该很轻松的,但是苦逼的人总能遇到意想不到的问题。
IIS6.0开启Gzip的整个流程
第一步
首先右击“本机计算机”选择“允许直接编辑配置数据库”,这样做的目的是可以直接修改配置文件,或者在服务里停止掉“IIS Admin Service”服务(需谨慎),
第二步
右键“web服务扩展”——“添加一个新的web服务扩展”
第三步
按如图操作
第四步
右键“网站”点击“服务”选项卡,按如图操作,需要注意的临时目录可以随意指定,不过temp目录需要添加“users”用户组写入权限
第五步:修改MetaBase.xml
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="0" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="FALSE" HcDynamicCompressionLevel="0" HcFileExtensions="htm html txt" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="asp dll exe" > </IIsCompressionScheme> <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="1" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="0" HcFileExtensions="htm html txt" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="asp dll exe" > </IIsCompressionScheme>
替换成:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="1" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="10" HcFileExtensions="html css js htm xml txt" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="php dll" > </IIsCompressionScheme> <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="2" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="10" HcFileExtensions="html css js htm xml txt" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="php dll" > </IIsCompressionScheme>
特别提醒:一定要用txt记事本打开该文件!
注意两种压缩形式Gzip和deflate,上面其实就是将Gzip调整为首选压缩形式,另外加以修改压缩类型与压缩率。
特别需要注意的是:以上代码千万不能复制错误,不是错了会出问题,而是如果修改错了,IIS识别到了之后会自动还原成上一次正确的版本,你会发现自己改的又变回来了。(我在这上面被折腾了很久啊!)
第六步
最后将IIS重启一下即可
修改好了之后可以这里检测Gzip是否成功:http://www.vuln.cn/tools/gzip/
注意事项:
如果以上修改方面没有生效,那么就需要先将IIS服务在管理中先停止掉再修改文件。
这里需要注意的是,在“IIS Admin Service”服务停止后修改文件,如果文件修改有所错误,那么该服务将会启动不起来!这时就需要替换历史备份文件。