Azure Front Door多路径路由对接存储静态网站失效求助
排查Azure Front Door路由到存储静态网站400错误的步骤
1. 调整路由规则优先级
Azure Front Door按规则优先级(数字越小优先级越高)匹配请求,当前/*规则会覆盖/client/*规则的匹配,导致第二个路由无法生效。
- 将
/client/*的路由规则优先级设为1(或比/*规则更小的数字),/*规则设为2。
2. 配置路径重写规则
你的静态应用2文件都存储在账户根目录,当请求www.something.com/client/xxx时,需要剥离/client/前缀后再转发给存储账户,否则存储会尝试查找不存在的/client/xxx路径。
- 编辑
/client/*的路由规则,找到路径重写设置:- 选择「前缀匹配」模式
- 设置匹配前缀为
/client/ - 设置替换为空字符串(即移除
/client/前缀)
- 若请求为
/client(不带尾随斜杠),可开启「重定向到带尾随斜杠」选项,确保路径统一为/client/后再执行重写。
3. 验证存储静态网站源配置
确保源组使用的是存储账户的静态网站终结点,而非Blob存储终结点:
- 静态网站终结点格式为:
https://<storage-account-name>.<region>.web.core.windows.net - 确认源的「主机头」设置为该静态网站终结点域名,避免主机头不匹配导致400错误。
4. 检查存储静态网站的默认文档
Next.js导出的静态站默认入口为index.html,需确保存储账户的静态网站设置中:
- 默认文档已添加
index.html - 自定义404页面配置正确,避免存储返回的错误码被Front Door异常转换。
5. 测试路径转发行为
使用Front Door的「测试路由」功能,模拟请求/client或/client/index.html,查看转发到存储的路径是否为/或/index.html:
- 若转发路径仍包含
/client,说明路径重写规则未配置正确,需重新检查。
内容的提问来源于stack exchange,提问作者Niroj
相关产品推荐
相关产品推荐

