我无法在新服务器上对 .ASP、.JS 或 .CSS 文件进行静态或动态压缩。
我运行的是 Windows Server 2008 R2 Standard 64 位。在 IIS 角色服务下,我安装了 ASP,以及静态和动态压缩。我使用带有标准 ApplicationPoolIdentity 的 DefaultAppPool。我已为网站启用了所有压缩选项。
这是我的 applicationHost.config 的相关部分(全部位于 system.webServer 下):
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<serverRuntime frequentHitThreshold="1" />
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />
因此我打开了失败请求跟踪以获得更好的视图。
对于 ASP,它似乎完全跳过了静态和动态压缩。没有 DYNAMIC_COMPRESSION_SUCCESS 或 DYNAMIC COMPRESSION_NOT_SUCCESS 条目。
对于 CSS 和 JS,它尝试静态压缩但失败:
STATIC_COMPRESSION_NOT_SUCCESS Reason="NO_MATCHING_SCHEME"
我在网上找不到任何关于 NO_MATCHING_SCHEME 含义的可靠文档。救命!