如何清除Microsoft Azure服务器上的IIS缓存?
排查及清除IIS/Azure Web缓存解决方案
1. 先排除客户端缓存干扰
先确认不是本地浏览器缓存导致的问题,避免白操作服务端:
- 按下
Ctrl+Shift+R对Chrome做硬性刷新,或者开启无痕模式访问站点 - 也可以按下
F12打开开发者工具,右键点击地址栏左侧的刷新按钮,选择「清空缓存并硬性重新加载」 - 上述操作后如果修改生效,说明是本地浏览器缓存问题,无需调整服务端配置
如果修改仍未生效,再继续排查服务端缓存问题。
2. Azure App Service 托管场景缓存清除
如果你使用的是Azure托管的App Service部署站点:
- 登录Azure门户,进入对应Web应用资源页,左侧菜单找到「高级工具(Kudu)」,点击「前往」进入Kudu控制台
- 顶部菜单栏选择「Debug console」->「PowerShell」
- 进入站点根目录
D:\home\site\wwwroot,编辑web.config文件,添加以下配置禁用IIS输出缓存:
<system.webServer> <caching enabled="false" enableKernelCache="false" /> <staticContent> <clientCache cacheControlMode="DisableCache" /> </staticContent> </system.webServer>
注意:如果你的
web.config里已经存在<system.webServer>节点,只需要把和 配置合并到现有节点内即可,不要重复声明节点。
- 保存配置后回到Azure Web应用主页,点击顶部「重启」按钮重启应用实例,等待1-2分钟后再访问测试即可。
3. Azure VM 自托管IIS场景缓存清除
如果你是在Azure虚拟机上自行搭建的IIS服务:
- 远程登录Azure虚拟机,打开IIS管理器
- 左侧站点列表找到你的目标站点,双击「输出缓存」功能
- 右侧操作栏点击「查看缓存项」,全选所有缓存项后删除
- 右键点击目标站点,选择「管理网站」->「重新启动」
- 静态资源修改未生效的话,可以临时在
web.config添加上文的禁用静态缓存配置,测试生效后再按需调整缓存策略。
额外注意事项
- 直接在线上服务器修改代码的操作不推荐,后续通过Octopus再部署时会直接覆盖手动修改的内容,建议所有代码变更都走版本库提交、再通过部署管道发布,避免线上代码与版本库不一致的问题。
- 如果修改的是.js、.css这类静态资源,可以在引用路径后加版本参数,比如
main.js?v=2024052001,即可强制所有用户拉取最新版本资源,不需要手动清理缓存。
内容的提问来源于stack exchange,提问作者Jaime Lashley
相关产品推荐
相关产品推荐

