如何使用IIS压缩所有文件

如何使用IIS压缩所有文件,iis,web-config,http-compression,Iis,Web Config,Http Compression,已启用IIS压缩: 以下是web.config的httpCompression标记: <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="1" staticCompressionIgnoreHitFrequency="true"

已启用IIS压缩:

以下是web.config的httpCompression标记:

<httpCompression
      directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"
      minFileSizeForComp="1"
      staticCompressionIgnoreHitFrequency="true"
      dynamicCompressionIgnoreHitFrequency="true">
  <dynamicTypes>
    <add mimeType="*/*" enabled="true" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="*/*" enabled="true" />
  </staticTypes>
</httpCompression>  

遗憾的是,其他文件未压缩:

我没有在“C:\inetpub\temp”中看到“IIS临时压缩文件”

有人能提供一个如何诊断这个问题的提示吗

更新[2020-08-13] Windows Server 2016上的配置编辑器:

更新[2020-08-13] 根据@Kul Tigin,需要安装动态内容压缩:

  • 没有名为
    DynamicCompressionIgnorHitFrequency的设置,请将其删除

  • minFileSizeForComp
    1
    (字节)有点苛刻。压缩小文件只会减小响应大小。 将其保留为默认值
    2700

  • 与属性上的设置值不同(就像您在
    staticCompressionIgnoreHitFrequency=“true”
    中所做的那样),将设置添加为节点不会覆盖继承的设置

    在添加之前,删除可能继承的相应设置或清除所有继承的设置是防止错误(尤其是静默设置)的良好做法。

    否则可能会发生错误,或者更糟的是,无声错误可能会破坏您的设置

  • 每个应用程序池的
    100
    (MB)空间限制可能不足以满足您的需要。如果我没记错的话,您的大多数文件都是megabaytes的webassembly文件

    因为您希望尽可能压缩所有文件;指定一个足够大的值

    尽可能大;所有文件的未压缩长度之和。说
    2048
    MB

    通过这种方式,您无法达到磁盘空间限制,因此不会因为空间不足而删除任何压缩缓存

    只要原始文件没有更改,压缩缓存就会继续存在并被交付

    我有3年的压缩缓存文件存储在我的服务器上,准备交付顺便说一句

  • 所以,试试下面的方法

    如果不起作用,请提供有关请求头和以未压缩方式交付的文件的更多信息

    
    
    1)IIS管理器公开的设置太少,因此您必须研究配置文件;2)为了排除故障,我在发布问题之前读了很多书。我想知道IIS 6和IIS 7的所有信息是否仍然相关。如果您阅读了很多,您知道IIS 7和IIS 7以上的信息是相同的。非常感谢。这就像一个魅力瞬间。我后悔在这件事上花了这么多时间,尝试了各种各样的事情却没有结果。我发现下面是钥匙。没有它,任何东西都不会被压缩。我读了很多书,但不记得有人提到过这一点。每个尝试IIS压缩的人都应该知道这一点!假设你不介意的话,我会用黑体字写下你答案的这一部分。@Hong是的,纪录片大多不能解决这样的边缘案例,所以我们从痛苦中学习。我很高兴能为您提供帮助。@Hong您的开发人员机器和服务器的配置可能会有所不同。如果在Windows Server 2016上使用IIS管理器时没有任何错误(如图所示),请确保已解锁部分
    system.webServer/httpCompression
    ,并允许覆盖。如果这没有帮助,请尝试使用失败的请求跟踪模块进行故障排除。@Hong在网格的第一行中,集合计数的值应该是2而不是1
    (count=1)
    。您确定已在服务器上安装IIS Brotli模块吗?非常感谢。根据您的提示安装动态内容压缩后,它现在可以工作了(请参阅我更新问题的新屏幕截图)。我没有看到文件夹IIS临时压缩文件。两周前我删除了它,因为我认为IIS会自动创建它。我担心IIS没有使用缓存。