问题:使用 IIS,我正在寻找解决方案,以便在缓存命中时添加自定义标头。虽然我没有发现在 web.config 中访问缓存命中的任何可能性。应该在 web.config 中添加什么来添加此行为?有可能吗?
目标: 出于“调试和自动日志记录规则”的原因,我想在 IIS 中发生缓存命中时设置自定义标头“X-Cache”=“HIT”/“MISS”。
结果看起来应该像这样(示例取自使用 Varnish 运行的其他项目):
迄今为止我正在使用 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”响应,并且它对命中不起作用。尽管它添加了标题。