【问题标题】:IIS Gzip compression refuses to workIIS Gzip 压缩无法正常工作
【发布时间】:2016-09-15 06:37:28
【问题描述】:

我查看了本网站上有关此问题的所有问题,但没有一个解决方案对我有用!我知道我一定错过了一些小东西,但我就是找不到。

我使用的是 Windows 7 和 IIS 7.5。所以我在系统中添加了以下内容applicationHost.config

 <section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

我已经安装了静态和动态压缩并为网站启用了它们。 并将以下内容添加到我的web.config

     <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" >
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" doStaticCompression="true"  />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>

但它仍然不起作用。我尝试了 FailedReqLog 模块来调试这个问题,但没有创建日志文件。我什至在 IIS 的配置编辑器中都看不到 httpCompression

过去 3 天我一直在尝试不同的解决方案。我完全没有想法。如果有办法跟踪此问题并查看为什么它可能不遵循 web.config 设置,则非常感谢调试选项。更糟糕的是为什么它没有在配置编辑器中显示。

【问题讨论】:

    标签: c# asp.net windows iis gzip


    【解决方案1】:

    默认情况下,在 IIS 7.5 上,如果文件大小小于 2,700 KB,则不会使用压缩。另一个排除项是 CPU 利用率。默认情况下,如果 CPU 利用率超过 90%,则不会使用压缩。

    由于这是在您的开发盒上,因此您的文件可能太小了。您可以更改默认值。

    参考IIS HTTP Compression

    【讨论】:

    • 它们实际上被压缩在httpCompression指定的目录中。但是没有提供压缩版!我什至尝试将最小文件大小设置为 1,但仍然没有变化。我真的很困惑,因为我不确定 IIS 遵循什么顺序并且无法调试它
    • 如果您在您的机器上进行所有本地测试,我想知道浏览器或 IIS 是否会自动确定没有性能优势。您是否尝试过在与 IIS 不同的机器上使用浏览器进行该配置?或者在本地,尝试使用您的机器名称而不是 localhost 进行浏览。