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

Blazor .NET 8 IIS子域名部署出现ERR_TOO_MANY_REDIRECTS问题求助

处理Blazor .NET 8部署IIS子域名出现ERR_TOO_MANY_REDIRECTS问题

问题描述

我基于Blazor和.NET 8开发的应用部署在IIS的子域名(AppCore)下,使用独立应用程序池。服务器本地访问正常,但外部访问时弹出错误:

This page isn’t working right now "MyDomain" redirected you too many times. Try deleting your cookies. ERR_TOO_MANY_REDIRECTS

相关环境说明

  • 同一域名下的其他.NET Framework项目运行正常;
  • 已安装Hosting Bundle和.NET 8 SDK;
  • 存在包含configEncKeyAes的共享配置文件;
  • 浏览器检查显示因IIS重定向导致无内容可用;
  • 当前CORS配置如下:
app.UseCors(builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyMethod().SetIsOriginAllowed(origin => true)
.AllowAnyHeader();
});

已尝试操作

  • 检查文件夹权限(与同域名其他子域名应用权限一致);
  • 清除浏览器缓存和Cookie,问题仍存在;
  • 排查URL重写规则(已提供规则截图);
  • 启用IIS失败请求跟踪(已提供截图);
  • 在Program.cs中添加app.UseExceptionHandler("/Home/Error")启用应用日志。

排查方向与解决方案建议

  1. 确认子域名绑定与SSL配置
    检查IIS中该子域名的站点绑定,确保HTTPS绑定的证书正确,避免HTTP与HTTPS强制重定向冲突。比如若站点设置HTTP自动跳HTTPS,但子域名HTTPS配置异常,可能触发循环重定向。

  2. 检查Blazor应用的路由与重定向配置

    • 确认Program.cs中app.UseHttpsRedirection()的配置是否适配子域名环境,可尝试显式指定HTTPS端口:app.UseHttpsRedirection(options => { options.HttpsPort = 443; });
    • 排查Blazor页面路由或NavLink是否存在错误的重定向逻辑。
  3. 验证应用程序池身份权限
    即便权限与其他应用一致,仍需确认应用程序池身份能否正常读取共享配置文件中的configEncKeyAes,解密失败可能导致应用内部重定向异常。

  4. 排查URL重写规则冲突
    仔细检查URL重写规则,避免出现子域名与主域名之间的循环重定向(比如子域名被重定向到主域名,又被主域名规则重定向回来)。

  5. 深挖失败请求跟踪日志
    从IIS失败请求跟踪截图中定位每次重定向的发起方(IIS模块或应用本身),跟踪URL变化,找到循环重定向的起始点。

  6. 临时禁用CORS配置测试
    当前CORS配置过于宽松,虽不直接导致重定向,但可临时注释CORS代码,排查是否为跨域相关的间接重定向问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 21:13:16