IIS 7压缩无法正常工作

时间:2010-09-18 05:33:05

标签: iis-7.5 http-compression

我有一台装有IIS 7的Windows Server 2008 R2。

默认情况下,在IIS中创建网站时,会启用“压缩”。我检查了压缩模块,并检查了两个复选框。

现在,我正在使用fiddler来检查页面是否正在被压缩,但似乎它们不是因为选择了No Compression并且页面大小超过100 KB。

为什么即使在IIS 7中启用了压缩,页面仍未压缩?

任何建议都将受到高度赞赏。

感谢。

3 个答案:

答案 0 :(得分:15)

您的网页内容是否动态(即.aspx或.php)?如果是这样,您的IIS是否安装了动态内容压缩模块?您可以通过查看“启用动态内容压缩”复选框来判断。如果它显示为灰色,则表示未安装。

要安装它,请参阅以下链接:

Enabling Dynamic HTTP Compression in IIS7 on Windows Server 2008

基本上,它说(包含大量图片)您必须通过服务器管理器添加动态内容压缩角色服务,然后确保在IIS管理器中启用它。

答案 1 :(得分:4)

我找到了解决方案:-)此解决方案始终提供压缩版本。

对我来说,在IIS 7.5管理器中,我已经选中了两个框,以便压缩两者:

  • 静态文件
  • 动态文件

有时(第一次提供网页),它是UNCOMPRESSED。 然后,只有第二次,它是COMPRESSED。

以下解决方案来自: http://www.codeproject.com/Articles/242133/Making-the-most-out-of-IIS-compression-Part-conf

为了让IIS始终缓存压缩版本而不是未压缩版本,请修改 applicationHost.config 文件。您通常会在文件夹C:\ Windows \ System32 \ inetsrv \ config:

中找到此文件
  1. 制作applicationHost.config的备份副本。
  2. 使用文本编辑器打开applicationHost.config, - 或 - 在IIS管理器中,导航到默认网站>配置编辑器,转到“ system.webServer / urlCompression ”部分
  3. 找到该部分。
  4. dynamicCompressionBeforeCache =“true”属性添加到urlCompression元素,
  5. 折叠|复制代码
  6. 保存applicationHost.config文件
  7. 重置IIS服务器以使新属性生效
  8. 启动IIS管理器,单击树顶部的服务器,然后单击右侧的“重新启动”
  9. 我希望它会拯救你的一天,因为它救了我的!

答案 2 :(得分:1)

我们遇到了同样的问题,但是使用IIS8。关闭动态和静态压缩可以解决这个问题,但是您需要在更改设置后重新启动IIS。