如果缓存命中,IIS 将设置条件标头

如果缓存命中,IIS 将设置条件标头

问题:使用 IIS,我正在寻找解决方案,以便在缓存命中时添加自定义标头。虽然我没有发现在 web.config 中访问缓存命中的任何可能性。应该在 web.config 中添加什么来添加此行为?有可能吗?

目标: 出于“调试和自动日志记录规则”的原因,我想在 IIS 中发生缓存命中时设置自定义标头“X-Cache”=“HIT”/“MISS”。

结果看起来应该像这样(示例取自使用 Varnish 运行的其他项目):

google 检查 X-Cache 的截图

迄今为止我正在使用 Varnish,通过添加以下内容可以很容易地实现这一点:

sub vcl_deliver {
  # Called before a cached object is delivered to the client.

  # Add debug header to see if it's a HIT/MISS and the number of hits, disable when not needed
  if (obj.hits > 0) { 
    set resp.http.X-Cache = "HIT";
  } else {
    set resp.http.X-Cache = "MISS";
  }
  
  .
  .
  .
  
  return (deliver);
}

我尝试过的:

  <location path="/windows/something/caching-folder">
    <system.webServer>
      <httpProtocol>
        <customHeaders>
          <add name="X-Cache" value="HIT" />
        </customHeaders>
      </httpProtocol>
    </system.webServer>
  </location>

在此解决方案中,我没有收到“MISS”响应,并且它对命中不起作用。尽管它添加了标题。

相关内容