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

Blazor Server部署IIS后加载Radzen.Blazor.js遇403禁止错误求助

解决Blazor Server部署IIS后的403及相关错误

一、修复Radzen.Blazor.js的403禁止错误

  • 启用IIS静态内容功能:
    1. 打开服务器管理器 -> 添加角色和功能 -> 找到「Web服务器(IIS)」->「Web服务器」->「常见HTTP功能」,确保勾选静态内容。
    2. 执行命令 iisreset 重启IIS服务。
  • 验证子目录权限:
    确认IIS应用池身份(默认ApplicationPoolIdentity)对站点根目录下的wwwroot/_content/Radzen.Blazor/文件夹拥有读取权限,需递归设置子目录权限,不要仅设置根目录。

二、解决WebSocket连接失败与Blazor电路异常

  • 启用IIS WebSocket协议:
    1. 服务器管理器 -> 添加角色和功能 ->「Web服务器(IIS)」->「应用程序开发」,勾选WebSocket协议。
    2. 重启IIS及对应应用池。
  • 核对Blazor核心配置:
    在Program.cs中确保正确注册Blazor服务与端点:
    // 注册Blazor Server服务
    builder.Services.AddServerSideBlazor();
    // 注册Radzen组件服务(如果使用)
    builder.Services.AddRadzenComponents();
    
    // 配置端点
    app.MapBlazorHub();
    app.MapFallbackToPage("/_Host");
    

三、修复DELETE请求_blazor接口的403错误

  • 检查IIS请求筛选规则:
    1. 打开IIS管理器 -> 选中目标站点 -> 功能视图 -> 打开「请求筛选」。
    2. 切换到「HTTP谓词」选项卡,确认DELETE方法在允许列表中,若缺失则添加。
  • 验证CORS配置(若有):
    如果Program.cs中配置了CORS,确保允许DELETE方法:
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowAll", policy =>
        {
            policy.AllowAnyOrigin()
                  .AllowAnyMethod()
                  .AllowAnyHeader();
        });
    });
    app.UseCors("AllowAll");
    

四、解决"No interop methods are registered for renderer 1"错误

该错误是连锁问题——Radzen的JS文件因403未加载,导致interop方法无法注册。解决前面的静态资源权限问题后,此错误会自动消失。

额外排查项

  • 确认应用池的.NET CLR版本设置为无托管代码(Blazor Server属于ASP.NET Core应用)。
  • 检查站点URL重写规则,确保未拦截_content/或_blazor路径的请求。
  • 查看IIS日志(默认路径C:\inetpub\logs\LogFiles\W3SVC*),获取403错误的详细触发原因,精准定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:14:52