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

Blazor Server(.NET6)部署IIS时UsePathBase配置及重定向问题咨询

Blazor .NET6 IIS部署:实现无端口访问与根路径重定向

一、调整IIS站点/应用程序配置

  • 要实现http://服务器名称/DEMO无端口访问,优先将应用部署为IIS默认网站下的应用程序:
    1. 打开IIS管理器,找到绑定80端口的「默认网站」。
    2. 右键点击「默认网站」→「添加应用程序」。
    3. 别名填DEMO,物理路径指向inetpub\DEMO发布目录,关联已创建的应用池。
  • 若需使用独立站点,将站点绑定改为80端口(HTTP默认端口,访问时无需输入),物理路径仍指向inetpub\DEMO。

二、Blazor应用代码配置

  1. Program.cs设置路径基准:
    在var app = builder.Build();后按顺序添加:

    app.UsePathBase("/DEMO");
    // 添加根路径重定向逻辑
    app.Use(async (context, next) =>
    {
        if (context.Request.Path == "/")
        {
            context.Response.Redirect("/DEMO");
            return;
        }
        await next();
    });
    app.UseRouting();
    // 后续中间件(如UseAuthorization、UseBlazorFrameworkFiles等)保持原有顺序
    
  2. _Layout.cshtml修正base href:
    将原<base href="~/" />修改为:

    <base href="/DEMO/" />
    

    该配置确保Blazor客户端资源、路由及SignalR连接都基于/DEMO路径,避免连接中断报错。

三、验证与故障排查

  • 部署完成后,访问http://服务器名称会自动跳转至http://服务器名称/DEMO,且无WebSocket连接错误。
  • 确认IIS已安装WebSocket协议:控制面板→程序→启用或关闭Windows功能→Internet Information Services→万维网服务→应用程序开发功能→勾选「WebSocket协议」。
  • 应用池设置:将.NET CLR版本改为「无托管代码」,适配Blazor Server运行需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 21:22:15