IIS 7 上的 GZip 压缩不起作用 (COMPRESSION_DISABLED) - 如何解决此问题?

发布于 2024-11-05 04:03:41 字数 448 浏览 0 评论 0原文

无法让 gzip 与我的 IIS7 网络服务器配合使用。

我有运行 IIS 7 的 Windows 2008 64 位(.NET Web 应用程序)。我已经通过 IIS 模块启用了 Gzip,并且我的 webconfig 中有以下行:

urlCompression doStaticCompression="true" doDynamicCompression="true" />

每次我检查 FailedReqLogfiles 时,这就是我得到的:

DYNAMIC_COMPRESSION_START 
-DYNAMIC_COMPRESSION_NOT_SUCCESS 
Reason 2 
Reason COMPRESSION_DISABLED

有什么想法吗?

提前致谢

Can't get the gzip to work with my IIS7 webserver.

I have Windows 2008 64bit running IIS 7(.NET Web app). I've enabled Gzip via the IIS module and I have the following line in my webconfig:

urlCompression doStaticCompression="true" doDynamicCompression="true" />

Every time I check the FailedReqLogfiles this is what i get:

DYNAMIC_COMPRESSION_START 
-DYNAMIC_COMPRESSION_NOT_SUCCESS 
Reason 2 
Reason COMPRESSION_DISABLED

Any ideas?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

幻梦 2024-11-12 04:03:41

伙计,不久前我花了很长时间才让这个工作起来。

到目前为止,您已经做了正确的事情,要求 IIS7 使用 GZIP 压缩,方法是将正确的元素添加到

<system.webServer>
    <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
 ....
</system.webServer>

注意:system.webServer 用于 IIS7 + 设置。

现在..最重要的是:默认情况下,IIS7 不允许 gzip 压缩(对于该服务器上的所有网站),无论用户是否要求通过 web.config 打开它。为什么?想象一下,一个大型 Web Hoster(例如 Discount ASP.NET 等)允许人们打开 GZIP 压缩。数百个站点都这样做。服务器 CPU 开始(可能)飞速上升。

因此,除非服务器管理员在服务器级别(也称为 application.config 文件中)更改 urlCompression 的设置,否则 IIS7 将忽略此设置。

所以 - 让我们解决这个问题(假设您有权访问 application.config 文件)。

首先,启动 IIS 并单击主服务器名称,然后单击配置编辑器。这允许我们更改整个服务器的设置(app.config 内容)。

在此处输入图像描述

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

在此处输入图像描述

现在 ->请注意您现在如何解锁部分属性?我刚刚解锁了整个部分。 在下面的图片中,它显示“锁定”..,因为我已经将其解锁。因此,请解锁该部分,然后尝试一下。如果还是不行,请尝试重新启动 WWW 服务。

在此处输入图像描述

并告诉我这是否对您有用:)

Mate, it took me ages to get this working a while back.

So far, you've done the right thing asking IIS7 to use GZIP compression by adding in the correct element to the

<system.webServer>
    <urlCompression doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
 ....
</system.webServer>

NOTE: system.webServer is for IIS7 + settings.

Now .. the kicker is this: by default, IIS7 DISALLOWS gzip compression (for all web sites on that server) regardless if a user has asked to turn it on via the web.config. Why? Imagine a massive Web Hoster (eg. Discount ASP.NET, etc..) that allows people to turn on GZIP compression .. and hundreds of sites do that .. and the server CPU starts to (possibly) sky rocket.

So unless the server admin changes the setting for urlCompression on the server level (aka. in the application.config file) .. then IIS7 will ignore this setting.

So - lets fix this (assuming u have access to the application.config file).

First, start IIS and click on the main server name, then click on Config Editor. This allows us to change settings for the ENTIRE server (app.config stuff).

enter image description here

Now, select the element system.webServer and then choose urlCompression.

enter image description here

Now -> notice how you can now UNLOCK a section or an attribute? I just unlock this entire section. In my picture below, it says LOCK .. because I've already unlocked it. So unlock that section and then give it a go. If it still doesn't work, try restarting the WWW service.

enter image description here

and tell me if that starts to work for you :)

长亭外,古道边 2024-11-12 04:03:41

噢! 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" />

OOOK! The following tag was missing from applicationHost.config...aargh!

<httpCompression directory="D:\gzip" minFileSizeForComp="256">

After adding this accordingly it worked.

 <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
            <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
够运 2024-11-12 04:03:41

我通过使用启用了 Gzip 压缩
web.config 文件中的 位于 之间。顺便说一句,你的建议也很有帮助和有用。

I enabled Gzip compression by just using
<urlCompression doDynamicCompression="true" doStaticCompression="true" /> in between <system.webServer> in web.config file. By the way your suggestion is also helpful and useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文