You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Front Door(经典版)对接App Service后出现404错误求助

问题排查与解决方案

原因1:Front Door未正确传递原始主机头

使用Front Door代理请求时,默认会将后端App Service的主机头(mywebapp.azurewebsites.net)传递给应用,但你的Web应用可能依赖Front Door的主机头(myappfrontdoor.azurefd.net)生成正确的回调地址,主机头不匹配会导致认证流程跳转错误,最终触发404。

解决步骤:

  • 登录Azure门户,进入你的Front Door(经典版)实例
  • 找到对应路由规则并编辑
  • 在「后端池」配置区,将「自定义主机头」设置为myappfrontdoor.azurefd.net
  • 保存配置并等待生效

原因2:App Service未处理X-Forwarded-*头或未启用ARR Affinity

Web应用若未识别Front Door传递的X-Forwarded-For、X-Forwarded-Proto等头信息,会生成基于App Service原始域名的回调URL,引发认证后跳转异常。

解决步骤:

  • ASP.NET Core应用:在Program.cs中添加转发头中间件配置:
    app.UseForwardedHeaders(new ForwardedHeadersOptions
    {
        ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
    });
    
  • 进入App Service的「配置」>「常规设置」,开启ARR Affinity
  • 可选:在App Service「应用设置」中添加WEBSITE_HOSTNAME,值为myappfrontdoor.azurefd.net

原因3:AAD应用注册重定向URI或应用配置问题

即便已添加Front Door的重定向URI,仍可能存在路径匹配、配置不匹配的问题。

解决步骤:

  • 检查AAD应用注册中的重定向URI,确保https://myappfrontdoor.azurefd.net/signin-oidc完全匹配(注意大小写、斜杠等细节)
  • 对于ASP.NET Core应用,确认appsettings.json中OpenIdConnect配置的CallbackPath为/signin-oidc,Authority指向正确的AAD租户
  • 使用隐身窗口测试,避免旧认证会话干扰

原因4:Front Door路由规则路径匹配错误

路由规则的路径匹配模式错误,会导致请求未正确转发到App Service根路径,触发错误页面。

解决步骤:

  • 检查Front Door路由规则,将路径匹配设置为/*(匹配所有路径)
  • 确认路由规则的「转发协议」设置为HTTPS only,与App Service协议一致
  • 测试直接访问https://myappfrontdoor.azurefd.net/home这类具体路径,验证转发是否正常

内容的提问来源于stack exchange,提问作者Lucky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 15:17:05