【发布时间】:2018-02-01 18:19:09
【问题描述】:
我有一个 ASP.NET 网站,我正在尝试为其启用静态压缩。我的网站有以下压缩配置。
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" staticCompressionEnableCpuUsage="0" staticCompressionDisableCpuUsage="100" staticCompressionIgnoreHitFrequency="true">
<clear/>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="3" />
<scheme name="deflate" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="10" dynamicCompressionLevel="3" />
<staticTypes>
<clear/>
<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" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="false" dynamicCompressionBeforeCache="false" />
我确实不想要启用动态压缩。根据Microsoft documentation,
与静态压缩不同,IIS 7 每次客户端请求内容时都会执行动态压缩,但压缩后的版本不会缓存到磁盘。
我的 Web 服务器的进程负载相当高,因此这将是一个不必要的负担。 By Static Compression 很有吸引力,因为压缩文件缓存在磁盘上。
但是,即使在不断刷新 localhost 页面 (Ctrl+F5) 并等待 15 分钟以上查看压缩目录后,也没有缓存任何内容。
此外,没有任何相关文件 (css/js/html) 与 gzip 压缩头一起返回。
同时安装了动态和静态压缩。动态已关闭。如果我打开动态压缩,我开始看到 gzip HTTP 响应标头回来了。
我错过了什么?为什么静态压缩会拒绝工作?
IIS 10
【问题讨论】:
-
你的 staticCompressionEnableCpuUsage 设置为 0,它永远不会开启:docs.microsoft.com/en-us/iis/wmi-provider/…
标签: iis web-config compression gzip