覆盖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

我在Microsoft Azure上有一个鬼博客。我想确保我可以自己设置
缓存控制
头,因为现在它的
最大年龄
设置为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