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

部署ASP.NET MVC至IIS 10出现403 Forbidden错误,求排查方案

排查ASP.NET MVC部署IIS出现403.14错误的方法

1. 确认ASP.NET 4.8已正确注册到IIS

  • 以管理员身份打开命令提示符,执行对应命令:
    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    
    若部署的是32位应用,替换路径为%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i。执行完成后重启IIS(运行iisreset命令)。

2. 检查站点与应用程序池的.NET版本设置

  • 打开IIS管理器,进入目标站点的【基本设置】,确认.NET CLR版本选择v4.0.30319(对应.NET 4.8),而非“无托管代码”。
  • 找到对应应用程序池,查看其设置:.NET CLR版本设为v4.0,托管管道模式选择集成(MVC依赖集成模式处理路由规则)。

3. 验证web.config中的路由配置

  • 确保发布后的web.config包含MVC路由所需的节点,正常配置示例如下:
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true">
        <remove name="UrlRoutingModule-4.0" />
        <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
      </modules>
      <handlers>
        <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
        <remove name="OPTIONSVerbHandler" />
        <remove name="TRACEVerbHandler" />
        <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
      </handlers>
    </system.webServer>
    
    若缺失相关节点,手动添加后重启站点。

4. 检查IIS模块映射

  • 在IIS管理器的站点【模块】选项中,确认UrlRoutingModule-4.0已存在;若不存在,点击【添加托管模块】,名称填写UrlRoutingModule-4.0,类型选择System.Web.Routing.UrlRoutingModule,勾选【仅针对请求向ASP.NET应用程序或托管处理程序发出调用】。

5. 临时验证默认文档设置

  • 将Index(不带后缀)添加到默认文档列表的最顶端,测试是否能直接访问首页。若能访问,说明路由规则未生效,需回到前面步骤检查注册与模块配置;若仍无法访问,继续排查权限问题。

6. 确认应用程序池身份的文件夹权限

  • 右键站点物理路径文件夹→【属性】→【安全】,添加IIS AppPool\[你的应用程序池名称]账户,赋予其读取和执行、列出文件夹内容、读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:39:17