IIS 7上的GZip压缩无法正常工作(COMPRESSION_DISABLED) - 我该如何解决这个问题?

时间:2011-05-02 23:26:22

标签: iis-7 gzip

无法让 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

有什么想法吗?

提前致谢

3 个答案:

答案 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东西)。

enter image description here

现在,选择元素system.webServer,然后选择urlCompression

enter image description here

现在 - &gt;请注意您现在可以解锁 部分属性?我刚解锁整个部分。 在下面的图片中,它说LOCK ..因为我已经解锁了。因此解锁该部分,然后试一试。如果仍然无效,请尝试重新启动WWW服务。

enter image description here

告诉我这是否适合你:)

答案 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>。顺便说一下,你的建议也很有用,也很有用。