求助:Azure Web App CORS配置修改后长时间不生效
Azure Web App CORS配置变更延迟/不生效问题排查与解决
核心问题分析
你遇到的是Azure Web App中CORS配置变更后生效延迟,甚至恢复正确配置也无法立即生效的问题,大概率是配置未同步到所有运行实例,或是部署槽位路由切换不及时导致旧实例仍在处理请求。
具体排查与解决步骤
验证实例配置同步状态
- 登录Azure门户,进入后端Web App的「部署中心」→「部署历史」,确认CORS配置变更的部署记录已应用到所有实例。
- 使用Azure CLI命令查看实例状态,确认无旧实例残留:
az webapp list-instances --name <你的后端Web App名称> --resource-group <资源组名称> - 强制触发全实例重启:在Web App「概述」页点击「重启所有实例」,或执行CLI命令:
az webapp restart --name <你的后端Web App名称> --resource-group <资源组名称>
验证CORS配置实际生效情况
用curl模拟预检请求,检查后端返回的CORS响应头是否正确:curl -X OPTIONS https://<后端Web App域名>/<接口路径> -H "Origin: https://<前端Web App域名>"查看返回的
Access-Control-Allow-Origin是否与配置一致,如果不一致,说明代码中的CORS中间件(比如ASP.NET Core的AddCors)可能覆盖了门户配置,需检查应用代码。部署槽位与路由检查
如果使用了蓝绿部署或部署槽位:- 进入Web App的「部署槽位」页面,检查目标槽位的路由权重是否设为100%,确保流量完全切换到更新后的槽位。
- 尝试交换生产槽与测试槽,强制刷新所有实例的配置。
应急恢复操作
若需快速恢复服务:- 确保后端CORS配置设为
*。 - 执行一次全实例重启,避免仅重启单个实例。
- 检查前端代码是否有手动设置请求头的逻辑,避免干扰浏览器自动预检流程。
- 确保后端CORS配置设为
内容的提问来源于stack exchange,提问作者Westy
相关产品推荐
相关产品推荐

