首页 > 解决方案 > HTTP 错误 403.14 - 在 ASP.NET MVC API 本地网站上被禁止

问题描述

最近我不得不在我的工作笔记本电脑上重置窗口,因为驱动程序有问题,在启动几分钟后导致无休止的蓝屏。我使用 Windows 10,并且在自己的分区上有 Windows,所以我的所有工作都不受重置的影响。

这是相关的,因为在重置之前,我的 ASP.NET 站点可以使用 IIS 10 在本地完美运行,我可以运行我的 API 站点并使用 Postman 按预期执行 HTTP 请求、登录到站点的本地化版本等。所有没有问题。重置之后,以及随后重新安装重置之前存在的所有程序,API 站点不再按预期工作。现在我在主页上收到一致的 403.14 Forbidden 错误,以及其他各种错误,具体取决于正在执行的操作。

我需要澄清这个站点不是目录站点,因此启用目录浏览,因为这个问题的大多数答案告诉我要做的不是我需要的解决方案。

我在 SO 和其他地方尝试了数十种解决方案,包括:

- 确保 IIS 应用程序池设置为 v4.0 而不是 v2.0

- 在 CMD 中键入:'C:\windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i'。

- 确保打开/关闭“打开/关闭 Windows 功能”中的所有必需功能。

- 把这个:

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>

在配置中。

- 尝试上述替代方案:

  <system.webServer>
    <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>

-在 git 中通过硬重置重置站点的所有存储库,然后清理并重建所有内容

- 与我的同事核对我们的设置是否相同,包括所有重要的文件和程序设置(它们是,他的本地站点按预期工作)

- 重新安装windows并安装所有程序,非常注意它们的安装顺序和顺序。

- 测试这一切都可以在我的个人电脑上运行(确实如此)

预期的结果是主页是一个空白的白色页面,并且从那里访问的每个控制器(即http://localhost/api.mysite/account/login/ , .../account/getinfo/,.. ./account/changeinfo/) 都按预期工作,接受并返回 json。唯一的错误信息如下:

403.14 尝试通过浏览器访问该站点到默认页面 ( http://localhost/api.mysite/ )

使用 Postman 发布到默认页面时出现 405 错误,如预期的那样(?)。

尝试使用 Postman 对 API 站点中的任何控制器方法进行 POST 或 GET 时出现 404 错误。(http://localhost/api.mysite/account/login等)

非常感谢任何帮助,这令人难以置信的令人沮丧!谢谢你。

标签: asp.netasp.net-mvciis-10

解决方案


推荐阅读