如何设置自定义Azure 403页面?解决App Service维护显示问题
关于Azure App Service停止时自定义维护页面的解决方案
嘿,这个需求太贴合实际了——谁都不想让用户看到冷冰冰的默认403错误页,反而误以为网站出了意外故障对吧?先给你明确个信息:你从Azure反馈论坛了解到的直接为停止状态的App Service配置自定义403页面的功能暂不可用,这个情况是属实的。不过别慌,我们有几个靠谱的替代方案来实现你想要的效果:
替代方案1:用部署槽实现无感知发布(首选)
- 核心思路是避免直接停止生产槽的服务:先把新代码部署到部署槽(Deployment Slot),完成测试验证后再执行槽交换。整个过程中生产槽始终处于运行状态,用户完全不会感知到发布操作,自然也看不到停止页面。
- 如果确实需要短暂的维护时间,可以在槽交换前,给生产槽加个"维护模式"开关:比如在应用里加个配置项,当读取到
MAINTENANCE_MODE=true时,就返回你的自定义维护页。等槽交换完成、新代码正常运行后,再关闭这个开关即可。
替代方案2:借助Azure Front Door/CDN拦截流量
- 如果你已经在用Azure Front Door或者CDN,可以在需要维护时,临时把所有用户流量路由到一个存放静态维护页的Blob存储容器:
- 把Blob存储配置成静态网站,上传好带公司标识的自定义维护页面;
- 在Front Door/CDN的路由规则里,修改转发目标为这个静态网站地址;
- 维护完成后,再把路由规则改回指向你的App Service即可。
替代方案3:先切维护模式再停服务
- 提前在应用代码里实现维护模式逻辑:比如添加一个中间件,当检测到Azure App Service的应用设置里
MAINTENANCE_MODE为true时,直接返回自定义维护页; - 操作步骤:
- 在Azure门户的App Service「配置」→「应用设置」里添加
MAINTENANCE_MODE并设为true,应用会自动重启,此时用户看到的就是你的友好提示; - 停止App Service进行代码发布;
- 发布完成后启动App Service,再把
MAINTENANCE_MODE设为false,恢复正常服务。
- 在Azure门户的App Service「配置」→「应用设置」里添加
内容的提问来源于stack exchange,提问作者Windhoek
相关产品推荐
相关产品推荐

