如何使用 IIS 启用压缩

How to enable compression using IIS

我已关注 this document 并为我的网站启用了动态和静态压缩。

但是当我测试网站here时,没有启用压缩。

我已经验证了 HttpCompression:

<system.webServer>
  <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <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="image/svg+xml" enabled="true" />
      <add mimeType="*/*" enabled="false" />
    </staticTypes>
    <dynamicTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="message/*" enabled="true" />
      <add mimeType="application/x-javascript" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="*/*" enabled="false" />
    </dynamicTypes>
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
  </httpCompression>
</system.webServer>

我还检查了以下 IIS 设置:

我从您发布的 headers 中看到该网站位于云端(即 via 和 x-cache headers)。

因此您可能需要调查让云端提供压缩数据:https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

我对 cloudfront 不是特别熟悉,但是自从它添加了 via header 它作为代理..

..您的 IIS 设置屏幕截图中有 noCompressionForProxies = True

这里有一些关于更改设置的信息https://community.spiceworks.com/topic/1989103-help-with-enabling-nocompressionforproxies-in-applicationhost-config-in-iis

作为第一次测试,您可以尝试访问您的站点 by-passing 云端直接测试 IIS 设置。