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

Azure Front Door后Blazor Server的App Service BaseUri错误及认证问题求助

解决Azure Front Door后Blazor Server App Service的域名识别问题

你的问题核心是App Service未正确识别Front Door转发的原始自定义域名,导致认证重定向地址错误、NavigationManager指向异常。按以下步骤修复:

1. 配置App Service的Front Door相关应用设置

直接在App Service的「配置」→「应用设置」中添加以下项:

  • WEBSITE_LOAD_BALANCER = AzureFrontDoor:告知App Service流量来自Front Door,信任其传递的转发头
  • ForwardedHeaders_Enabled = true:启用转发头处理功能
  • ForwardedHeaders_TrustedProxies = *(生产环境建议替换为Front Door官方IP段,提升安全性):信任代理传递的头信息

2. 在Blazor Server中配置转发头中间件

打开Program.cs,在服务配置和中间件注册部分添加代码,确保应用能读取Front Door传来的原始请求信息:

var builder = WebApplication.CreateBuilder(args);

// 配置转发头选项
builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedFor | Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedProto;
    // 生产环境替换为Front Door的实际IP地址,测试环境可临时用*
    options.KnownProxies.Add(IPAddress.Parse("FrontDoor的IP地址"));
});

// 其他服务注册代码...

var app = builder.Build();

// 必须在UseAuthentication之前注册该中间件
app.UseForwardedHeaders();

app.UseAuthentication();
app.UseAuthorization();

// 其他中间件配置...

3. 更新Azure AD B2C的重定向URI

登录Azure门户找到你的AD B2C租户,进入「应用注册」找到对应的Blazor应用,在「身份验证」模块中:

  • 添加新的重定向URI:https://myapp.mydomain.com/signin-oidc(根据你的实际认证回调路径调整)
  • 删除旧的https://myapp.azurewebsites.net/signin-oidc(若不再需要)

4. 验证修复效果

完成上述配置后,NavigationManager.BaseUri会自动指向自定义域名。若仍有异常,可在组件中打印NavigationManager.Uri查看当前请求的完整URL,确认转发头是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:35:03