IIS 7 上的 GZip 压缩不起作用 (COMPRESSION_DISABLED) - 如何解决此问题?
无法让 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
伙计,不久前我花了很长时间才让这个工作起来。
到目前为止,您已经做了正确的事情,要求 IIS7 使用 GZIP 压缩,方法是将正确的元素添加到
注意: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
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).
Now, select the element
system.webServer
and then chooseurlCompression
.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.
and tell me if that starts to work for you :)
噢! applicationHost.config 中缺少以下标签...aargh!
相应添加后,它就起作用了。
OOOK! The following tag was missing from applicationHost.config...aargh!
After adding this accordingly it worked.
我通过使用启用了 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.