解决 Windows Server 2016 上 ASP.NET 的 403.14 错误
Posted
技术标签:
【中文标题】解决 Windows Server 2016 上 ASP.NET 的 403.14 错误【英文标题】:Resolving the 403.14 error for ASP.NET on Windows Server 2016 【发布时间】:2017-08-14 20:26:40 【问题描述】:我正在使用全新的 Windows Server 2016 虚拟机,并使用 Visual Studio 2017 中的 Web Deploy 在其上部署了 ASP.NET MVC Web API 应用程序。但是,我发现当我在本地浏览到应用程序时,我收到了一个包含以下错误的页面:
HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。
在网上做了一些研究后,我发现这是一个常见的问题,并且已经给出了许多解决方案。例如,请参阅以下内容:
ASP.NET MVC on IIS 7.5
MVC4 HTTP Error 403.14 - Forbidden
HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents
ASP MVC in IIS 7 results in: HTTP Error 403.14 - Forbidden
HTTP Error 403.14 - Forbidden - MVC4 .net 4.5 bundles
HTTP Error 403.14 - Forbidden. Asp.NET MVC
HTTP Error 403.14 - Forbidden IIS Error for ASP.Net MVC 4 Application
但是,我尝试的所有解决方案都没有解决我的 Windows Server 2016 实例上的这个问题。
【问题讨论】:
【参考方案1】:这是对我有用的解决方案:
很多人建议运行以下命令在机器上注册 ASP.NET:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
事实证明,在 Windows Server 2016 中,您需要转到 添加角色和功能向导 来执行此操作(搜索“打开或关闭 Windows 功能 " 在 Windows 搜索中)。在向导中,单击“下一步”,直到您进入“服务器角色”页面。向下滚动并打开以下节点:
Web 服务器 (IIS) > Web 服务器 > 应用程序开发
在“ASP.NET 4.6”旁边打勾,点击下一步,按照提示进行安装。
安装 ASP.NET 4.6 后发现 403.14 问题已解决。
【讨论】:
【参考方案2】:我从 Modules 中删除了 Rewrite module 并且现在运行良好。
【讨论】:
【参考方案3】:注意:引用不存在的驱动器可能会导致此问题!我们引用了 E:\Log4Net,但在新主机上,此驱动器不存在!
【讨论】:
以上是关于解决 Windows Server 2016 上 ASP.NET 的 403.14 错误的主要内容,如果未能解决你的问题,请参考以下文章
Windows Server2016+SqlServer2016搭建AlwaysOn集群
Windows Server2016+SqlServer2016搭建AlwaysOn集群
window server2016添加角色与服务向导中服务器的选择出现卡死,该怎么解决?
Windows Server 2016- Windows Server 2016 上 HYPER-V 中的新增功能