2012-07-06 149 views
9

我想部署一个网站,我已经建立在运行iis7的服务器上的mvc3。我能够通过我的笔记本电脑在本地运行iis7,但是当我尝试将它放到服务器上时,我尝试远程访问它时出现403访问被拒绝错误,而当我尝试连接时出现“连接超时”从服务器本身查看它。IIS7 403 - 访问被拒绝

我已经确定我必须使用asp_regiis.exe最新的.Net 4框架的。我尝试了多个应用程序池,包括默认值。我允许.net4 isapi。我已更改权限以允许从IUSER,SERVER NETWORK,Authenticated Users进行访问。我确定默认的文档列表与我的笔记本电脑iis7上的一样(可以正常工作)。

我也有其他多个站点(使用web表单,不MVC)的工作就好了服务器上。

它可能是与我传递给文件到服务器的方式吗?我只是压缩文件并将它们放在服务器上(并将它们解压缩)并将iis指向创建的目录。

我错过了什么?

+0

你的意思是你的应用程序的压缩副本是唯一的IIS? – Tyrsius 2012-07-06 21:34:26

+0

抱歉没有指定。我解压缩并将文件放入一个文件夹中。 – Shattuck 2012-07-06 21:35:12

回答

14

我上周面对这个错误,它可以由许多原因引起:

  1. 的.NET Framework的正确版本未安装或asp_regiis.exe
  2. 的“runAllManagedModulesForAllRequests”注册为在你的web.config
  3. MVC的正确版本没有安装在服务器设置为false
  4. 你的忽略而忽略你的要求
  5. 路线你有一个伯爵y Application_Start异常并且您的站点无法正常启动

就我而言,我忘记将web.config中的日志记录目录路径值更改为现有的directoy。

你可以做什么来知道它是一个配置错误还是应用程序中的错误是在VS中创建一个新的默认MVC项目并将其部署到同一个应用程序池中。

+0

这些步骤使我找到了正确的答案。它最终成为一堆不同的东西。其中一个主要的是我选择了正确的应用程序池,但选择了经典代替集成 – Shattuck 2012-07-09 15:54:18

+1

在web.config中设置为true的“runAllManagedModulesForAllRequests”为我工作 – chamara 2014-08-09 15:40:40

1

您需要确保解压缩文件的文件夹具有正确的权限设置。另外,你有在该网站的身份验证设置?

+0

我修改了该文件夹的权限,但似乎没有帮助。另外,我不确定你指的是什么认证。我对iis相当陌生 – Shattuck 2012-07-06 21:40:08

3

而是拉上你的应用程序,它会更好,如果你可以发布它(在VS,右键点击你的项目并发布)之后将其部署到您的网站(你有几个选项)。

之后,对于IIS,它看起来像是一个认证问题。尝试允许匿名身份验证。在IIS管理器上,转到您的网站,单击身份验证模块并启用“匿名身份验证”。

让我们看看以后有什么发生,即使“超时”问题是奇怪.... 只是可以肯定,默认情况下它是禁用浏览网站的内容,你将有一个403错误,如果你试图去做。

你把你的应用程序放在哪里?有时可能会出现问题(对于访问配置),将其放置在程序文件等特定文件夹中。尝试将它安装在根目录(如C:\ Websites \ MyApp)中,以便在没有用户权限问题的情况下进行测试。

3

你应该检查几件事。

  1. 您是否将解压缩文件的目录设置为IIS中的应用程序?该应用程序是否运行.NET 3.5/4.0?

  2. 是您的运行你已经在上面集成模式或经典模式运行时创建的应用程序的应用程序池的管道?

通常,在部署MVC应用程序时,403不是权限问题。它告诉你,目录浏览是不允许的。这是因为如果没有上述两项中的任何一项(或IIS中的自定义通配符映射),Web服务器不知道如何处理路由,这是MVC应用程序的基础。

2
  1. 创建所有默认值一个新的MVC 3的互联网应用。在本地IIS服务器上运行。
  2. 将应用程序移至服务器并将其添加为应用程序。
  3. 在服务器上测试本地访问(从IIS管理器浏览80)。
  4. 不要霰弹枪旋转所有的权限,直到你找出问题。
  5. 请参见我的博客http://blogs.msdn.com/b/rickandy/archive/2011/04/22/test-you-asp-net-mvc-or-webforms-application-on-iis-7-in-30-seconds.aspx
+0

是的,允许混淆并不是最好的主意。感谢您的洞察! – Shattuck 2012-07-09 15:54:54

0

在建立网站,有你在点击测试连接测试你的IIS设置。你有两个绿色的蜱虫吗?如果不是,请检查您的验证设置。文件夹访问设置和应用程序池设置。

+0

感谢您的回答。它最终成为一堆不同的东西,但应用程序池是它的一部分。 – Shattuck 2012-07-09 15:55:30

0

如果是aspx文件请确保在IIS上设置了默认页面,如果没有安装asp.net应用程序。一旦你安装了默认的aspx文件就会被创建。