IIS 输出缓存似乎不缓存静态文件

IIS 输出缓存似乎不缓存静态文件

我已经配置了以下缓存,并且我也使用了其他方案,但我无法使用以下命令使我的 JS 文件显示在缓存中。所以我不认为它们在缓存我的 .js 文件。我还需要做什么吗?

netsh http 显示缓存

netsh http 显示缓存状态

<caching>
            <profiles>
                <add extension=".js" policy="CacheUntilChange" kernelCachePolicy="DontCache" varyByQueryString="*" />
            </profiles>
        </caching>

我的失败请求日志有很多内容,但这个看起来很有趣。不知道这意味着什么。

 <RenderingInfo Culture="en-US">
  <Opcode>HTTPSYS_CACHEABLE</Opcode>
  <Keywords>
   <Keyword>Cache</Keyword>
  </Keywords>
  <freb:Description Data="Reason">IP_RESTRICTION_SET</freb:Description>
  <freb:Description Data="CachePolicy">NO_CACHE</freb:Description>
 </RenderingInfo>

答案1

您需要使用 system.webServer 中的 staticfiles 及其 clientCache 元素来启用静态文件的缓存标头。

https://docs.microsoft.com/en-us/iis/configuration/system.webServer/staticContent/clientCache了解详情

相关内容