IIS7 403 - 拒绝访问

时间:2012-07-06 21:32:32

标签: asp.net asp.net-mvc asp.net-mvc-3 iis iis-7

我正在尝试在运行iis7的服务器上部署我在mvc3中构建的网站。我能够在我的笔记本电脑上本地运行iis7,但是当我尝试将它放在服务器上时,我尝试远程访问它时出现403访问被拒绝错误,并且当我尝试“连接已超时”时从服务器本身查看它。

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

我还有多个其他网站(使用webforms,而不是mvc)在服务器上正常工作。

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

我错过了什么?

7 个答案:

答案 0 :(得分:14)

我上周遇到了这个错误,可能是由许多事情造成的:

  1. 未使用asp_regiis.exe
  2. 安装或注册正确版本的.NET框架
  3. 您的web.config中的“runAllManagedModulesForAllRequests”设置为false
  4. 服务器中未安装正确版本的MVC
  5. 您有一条忽略您的请求的忽略路线
  6. 您的Application_Start中有一个早期例外,但您的网站无法正常启动
  7. 就我而言,我忘记将web.config中的日志目录路径值更改为现有的directoy。

    如果是配置错误或应用程序中的错误,您可以做的是在VS中创建一个新的默认MVC项目并将其部署在同一个apppool中。

答案 1 :(得分:3)

如果您可以发布它(在VS中,右键单击您的项目并发布)并将其部署到您的网站(您有多个选项)后,最好不要压缩您的应用程序。

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

让我们看看之后会发生什么,即使“超时”问题很奇怪...... 可以肯定的是,默认情况下,它会被禁用以浏览网站内容,如果您尝试这样做,则会出现403错误。

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

答案 2 :(得分:3)

你应该检查一些事情。

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

  2. 运行上面创建的应用程序的应用程序池的管道是在集成模式还是经典模式下运行?

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

答案 3 :(得分: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

答案 4 :(得分:1)

您需要确保解压缩文件的文件夹具有正确的权限设置。此外,您是否在该站点中进行了身份验证设置?

答案 5 :(得分:0)

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

答案 6 :(得分:0)

如果是aspx文件确保在IIS上设置了默认页面,如果没有安装asp.net应用程序。默认安装后,将创建aspx文件。