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

使用Visual Studio Installer Projects的Web Setup无法配置Blazor Server应用IIS部署

Blazor Server 部署到IIS默认网站子应用遇403.14错误的解决方法

问题背景

使用Microsoft Installer Projects的Web Setup模板制作安装包,将Blazor Server应用部署到IIS默认网站下作为子应用后,访问时弹出403.14禁止错误,开启目录浏览仅能看到文件列表,无法运行应用;但手动新建独立站点指向发布文件时,应用可正常工作。

相关截图

  • 安装包配置界面:安装包配置界面
  • IIS中部署的子应用:IIS中部署的子应用
  • 403错误页面:403错误页面
  • 手动部署正常的站点:手动部署正常的站点

解决步骤

1. 修正子应用的应用池配置

Blazor Server依赖ASP.NET Core模块,子应用必须使用正确的应用池:

  • 打开IIS管理器,找到默认网站下的Blazor子应用,右键选「管理应用程序」→「高级设置」
  • 确认托管管道模式为「集成」,应用程序池绑定的是.NET Core专用池(.NET CLR版本选「无托管代码」,管道模式「集成」)
  • 若没有合适的应用池,新建一个:右键「应用程序池」→「添加应用程序池」,按上述参数配置,再将子应用绑定到新池

2. 添加Blazor专属默认文档

Blazor的入口是_Host.cshtml,默认IIS不会识别这个文件,需要手动添加:

  • 进入子应用的IIS配置,打开「默认文档」
  • 点击「添加」,输入_Host.cshtml,并将它移到默认文档列表的最顶端

3. 检查Web Setup项目的部署配置

确保安装包的源路径和部署目标正确:

  • 在Visual Studio的Web Setup项目中,确认「Web应用程序文件夹」的源路径指向Blazor应用的完整发布目录(必须包含web.config、_Host.cshtml及所有发布文件)
  • 查看项目属性,确认「VirtualDirectory」设置的是你要在默认网站下创建的子应用名称
  • 验证安装包部署时,web.config被正确复制到子应用目录(web.config无需手动修改,用发布生成的默认配置即可)

4. 配置文件夹权限

确保IIS应用池用户能访问子应用的物理文件:

  • 找到子应用的物理路径文件夹,右键→「属性」→「安全」
  • 添加应用池用户(格式:IIS AppPool\[你的应用池名称]),授予「读取」「执行」「列出文件夹内容」权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:55:22