Azure静态Web应用(配Front Door DNS)密码保护异常问题求助
解决方案:Azure静态Web应用自定义DNS+Front Door下密码保护的403/重定向问题
核心问题原因
静态Web应用的密码保护默认基于自身的azurestaticapps.net域名生成重定向URL,而自定义DNS+Front Door的架构下,这个逻辑未适配自定义域名,导致回调地址不匹配;同时Front Door的路由规则可能拦截了/.auth/路径的请求,或头传递配置不正确,引发403错误。
具体修复步骤
配置允许的重定向域名
- 进入Azure静态Web应用的「身份验证」设置页,在「重定向URL」列表中添加自定义域名完整地址(例如
https://dev.your-domain.com),确保密码保护的重定向逻辑使用自定义域名而非默认域名。
- 进入Azure静态Web应用的「身份验证」设置页,在「重定向URL」列表中添加自定义域名完整地址(例如
调整Front Door路由规则
- 在Front Door的路由规则中新增一条针对
/.auth/*路径的规则:- 禁用URL重写、缓存等额外处理,确保该路径的请求原封不动转发到静态Web应用的默认域名
- 确保Front Door允许传递
Set-Cookie响应头,让密码保护的会话Cookie能正确绑定到自定义域名 - 保留原有的Front Door ID头传递规则,避免影响原有访问控制逻辑
- 在Front Door的路由规则中新增一条针对
修正静态Web应用路由规则
- 在应用根目录的
staticwebapp.config.json中添加路由规则,排除/.auth/路径的前端路由拦截,确保请求能直达静态Web应用的身份验证服务:{ "routes": [ { "route": "/.auth/*", "serve": "/.auth/*", "statusCode": 200 }, { "route": "/*", "serve": "/index.html", "statusCode": 200 } ] }
- 在应用根目录的
验证头传递与域名匹配
- 确认Front Door转发请求时,
Host头设置为自定义域名,让静态Web应用能识别当前访问域名并生成正确的重定向地址 - 检查静态Web应用的访问控制规则,确保密码保护规则优先级高于原Front Door ID头规则,或两者逻辑兼容(允许同时通过两种验证的请求)
- 确认Front Door转发请求时,
排查辅助点
- 用浏览器开发者工具查看重定向URL,确认是否已切换为自定义域名
- 检查Cookie的
Domain属性,确保绑定的是自定义域名而非默认域名 - 查看静态Web应用的日志,过滤
/.auth/basicAuth/login相关请求,排查是否存在域名不匹配的具体报错
内容的提问来源于stack exchange,提问作者przeciag
相关产品推荐
相关产品推荐

