无法让 gzip 与我的IIS7网络服务器一起使用。
我有Windows 2008 64bit running IIS 7
(。NET Web应用程序)。我通过IIS模块启用了Gzip,我的webconfig中有以下行:
urlCompression doStaticCompression="true" doDynamicCompression="true" />
每次检查FailedReqLogfiles时,我都会得到:
DYNAMIC_COMPRESSION_START
-DYNAMIC_COMPRESSION_NOT_SUCCESS
Reason 2
Reason COMPRESSION_DISABLED
有什么想法吗?
提前致谢
答案 0 :(得分:8)
Mate,我花了很长时间才开始工作。
到目前为止,您已经做了正确的事情,要求IIS7通过向
添加正确的元素来使用GZIP压缩<system.webServer>
<urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
....
</system.webServer>
注意:system.webServer适用于IIS7 +设置。
现在..踢球者是这样的:默认情况下, IIS7 DISALLOWS gzip压缩(适用于该服务器上的所有网站),无论用户是否要求转动它通过web.config。为什么?想象一下,一个庞大的Web Hoster(例如,折扣ASP.NET等)允许人们打开GZIP压缩......数百个网站就是这样做的......服务器CPU开始(可能)天空火箭。
因此,除非服务器管理员更改服务器级别的urlCompression设置(也就是在application.config文件中)..然后IIS7将忽略此设置。
所以 - 让我们解决这个问题(假设你有权访问application.config文件)。
首先,启动IIS并单击主服务器名称,然后单击配置编辑器。这允许我们更改整个服务器的设置(app.config东西)。
现在,选择元素system.webServer
,然后选择urlCompression
。
现在 - &gt;请注意您现在可以解锁 部分或属性?我刚解锁整个部分。 在下面的图片中,它说LOCK ..因为我已经解锁了。因此解锁该部分,然后试一试。如果仍然无效,请尝试重新启动WWW服务。
告诉我这是否适合你:)
答案 1 :(得分:2)
OOOK! applicationHost.config中缺少以下标记... aargh!
<httpCompression directory="D:\gzip" minFileSizeForComp="256">
相应地添加后,它起作用了。
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
答案 2 :(得分:0)
我只使用了启用Gzip压缩
web.config文件中<urlCompression doDynamicCompression="true" doStaticCompression="true" />
之间的<system.webServer>
。顺便说一下,你的建议也很有用,也很有用。