如何解决ASP.NET MVC部署到IIS 10时的403.14 Forbidden错误?
解决ASP.NET MVC部署IIS 10出现HTTP Error 403.14的方案
一、检查MVC路由与IIS默认文档
- 确认项目
RouteConfig.cs中的默认路由配置正确,示例:routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); - 在IIS站点的默认文档设置里,添加
Default.aspx或Index.aspx(IIS优先查找物理文件,找不到才会触发MVC路由);同时在IIS功能视图中禁用目录浏览,避免显示目录结构。
二、排查连接字符串(结合你之前的修复经验)
- 核对服务器
Web.config中的连接字符串:- 替换本地
(localdb)为服务器实际SQL实例名(比如SERVERNAME\SQLEXPRESS),确认数据库地址、库名正确。 - 身份验证方式:SQL Server身份验证要确保用户名、密码无误;Windows身份验证需确认应用程序池标识(如
Network Service)拥有数据库访问权限。 - 正确格式示例:
<connectionStrings> <add name="YourDbContext" connectionString="Data Source=SERVERNAME\SQLEXPRESS;Initial Catalog=YourDatabase;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings>
- 替换本地
- 用SQL Server Management Studio在服务器上测试连接参数,验证数据库能否正常访问。
三、应用程序池配置验证
- 确保应用程序池的
.NET CLR版本为v4.0.30319,托管管道模式设为集成(经典模式会导致MVC路由失效)。 - 检查应用程序池标识权限:该账号需拥有网站根目录的读取权限,以及数据库访问权限(Windows身份验证时)。
四、重新注册ASP.NET到IIS
- 以管理员身份打开命令提示符,执行以下命令重新注册ASP.NET:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i - 确认IIS站点模块中存在
UrlRoutingModule-4.0,缺失则需重新安装ASP.NET或手动添加模块。
内容的提问来源于stack exchange,提问作者Hamed Javadi
相关产品推荐
相关产品推荐

