覆盖Azure网站上的缓存控制标头
我在Microsoft Azure上有一个鬼博客。我想确保我可以自己设置覆盖Azure网站上的缓存控制标头,azure,iis,web-config,azure-web-app-service,Azure,Iis,Web Config,Azure Web App Service,我在Microsoft Azure上有一个鬼博客。我想确保我可以自己设置缓存控制头,因为现在它的最大年龄设置为0 我解决这个问题的方法是删除一个自定义的web.config(因为Azure网站使用IIS)。以下是我所拥有的: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <modules runAllManagedModulesF
缓存控制
头,因为现在它的最大年龄
设置为0
我解决这个问题的方法是删除一个自定义的web.config
(因为Azure网站使用IIS)。以下是我所拥有的:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
</modules>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
<httpProtocol>
<customHeaders>
<remove name="Cache-Control" />
<add name="Cache-Control" value="public, max-age=99" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
对我所缺少的东西有什么见解吗?这个问题的解决方案比我最初认为的要琐碎得多。当我在web.config
中正确设置标题时,server node.js配置正在强制执行自己的缓存控制
规则,该规则覆盖了我的规则
在\core\server\middleware
中有一个名为cache control.js
的文件。里面有一个片段:
cacheControl = function cacheControl(options) {
/*jslint unparam:true*/
var profiles = {
public: 'public, max-age=0',
private: 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0'
},
output;
我所需要做的就是将“public,max age=0”
调整到我想要的值
这样就完全不需要web.config