在IIS 7中使用ASP MVC会导致HTTP错误403.14 - 禁止访问。

149

我正在开发一个ASP MVC网站项目。现在我有一个要求,要求我在开发过程中将其部署到IIS7上(以检查某些功能)。每当我尝试输入网站的URL时,都会收到上述错误消息。(注意:开发机器:Vista Home Premium,IIS7)

目前为止我已经做了以下操作:

编辑HOSTS文件(C:\WINDOWS\system32\drivers\etc\hosts)。

在其中放入两个域名(127.0.0.1 domain1.com和127.0.0.1 domain2.com)。

创建一个文件夹c:\websites\dirOfApplication并从Visual Studio 8中部署到该文件夹。

在IIS7中创建一个新站点,主机名为domain1.com,应用程序文件夹为上述文件夹。

在Web浏览器中键入地址domain1.com将导致上述错误(HTTP Error 403.14 - Forbidden - The Web server is configured to not list the contents of this directory.)

我认为我漏了什么东西,但不知道是什么!尝试使用相同的结果部署System.Web.Mvc、System.Web.Abstraction和System.Web.Routing文件。每当我尝试按F5并运行应用程序时,它就能正常工作!


可能是ASP.NET MVC on IIS 7.5的重复问题。 - Fenton
34个回答

-1

在这里再添加一个答案。如果你正在运行IIS 10.0的Windows 2016服务器,可能是因为IIS没有正确安装。如果你发现自己在这里,请按照以下建议操作。

  1. 在Visual Studio中,验证你用于开发应用程序的.NET框架版本。右键单击项目,属性页面,应用程序选项卡。目标框架。在我的情况下,它是4.6.1。

  2. 在Web服务器上,搜索“下载.net framework 4.6.1”并转到MS下载页面,该页面应通过您的浏览器用户代理正确确定您需要的版本。在我的情况下,它是X64。

  3. 运行安装程序。请注意,即使您认为它可能已经存在,也可以安全地执行此操作。如果已经安装,则会显示“已安装”。

注意:现在你必须确保它作为Windows功能被正确“启用”。你还必须验证ASP.NET IIS组件是否已正确安装和启用。

  1. 再次在 Web 服务器上,转到服务器管理器,添加角色和功能,然后选择基于角色或基于功能。 然后点击下一步。

  2. 确保在目标服务器选项卡上选择本地服务器,然后单击下一步。

  3. 在服务器角色选项卡上,展开 Web 服务器 IIS 和应用程序开发。 我启用了除服务器端包含和 Websocket 协议之外的所有内容。

  4. 在管理工具下,我选择启用了所有内容(包括 IIS 6 MMC),因为我想要某些旧版功能,但这是另一篇文章。

在我的情况下不需要重新启动。 希望这能帮助到某人。


-1

步骤1:在IIS中选择产生HTTP错误的站点,然后点击如下图所示的目录浏览:

步骤2:在IIS的目录浏览窗口中,点击右侧操作中的启用,如下图所示:

现在您的asp.net网站已启用目录浏览,只需在IIS中重新启动Web应用程序,然后在浏览器中浏览该站点并查看结果。


-1

我输错了一个数字的IP地址,结果它连接到了我的其他服务器。这非常令人困惑,因为你会看到一个.NET错误页面,但是来自错误的机器!


-3

您可以通过以下步骤轻松解决此问题:

打开IIS管理器并选择要部署的站点(从左侧树形面板中选择),然后双击应用程序设置图标以打开应用程序设置对话框,然后您应该在屏幕上看到一个网格视图,所以双击名为webpages:Enabled的行,将其设置为true(默认值为false)。

这对我很有用,因为在我执行此操作之前,我遇到了同样的错误。我甚至启用了目录浏览(正如官方iis论坛推荐的那样),但当我浏览网站时,只看到了目录列表而不是实际的网页。但是当我执行上述步骤后,问题得到了解决,一切都正常工作了(当然,在解决此问题后,不要忘记为asppool授予SQL登录访问权限)。

就像我说的那样,这对我很有效,希望对您也有帮助。 祝好运!


在IIS中,网站没有“应用程序设置”选项。有“高级设置”,但其中没有包含“webpages:Enabled”选项。 - brimble2010

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接