403发布asp.net MVC后被禁止

时间:2012-06-15 00:27:48

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

我知道这已经回答了几次,但没有一个解决方案适合我。我发布了我的ASP.NET MVC 3应用程序(它只是互联网模板,没有任何更改),看看我是否可以让它公开工作。但是,当我访问该网站时,它显示403错误。来自php / linux背景,我很困惑,不知道在哪里看。我只学习了大约8-9个月的.NET,之前我测试的所有内容都是通过VS2010在本地开发服务器上进行的。它几乎看起来像服务器不知道它应该是一个MVC应用程序或我必须改变我的路由。

无论如何,我检查确保服务器设置是.NET 4.任何帮助将不胜感激。

另外,它是使用arvixe的共享托管环境。

7 个答案:

答案 0 :(得分:52)

对我来说,这就是诀窍(MmerrellGetting 404.0 error for ASP.NET MVC 3 app on IIS 7.0 / Windows Server 2008的原始答案)

  

你实际上只是提醒我,我需要解决这个问题   环境在这里。如果你的情况和我的情况一样,那就是了   简单的修复。

     

只需将以下内容添加到您的网络配置中:

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

确保您已选择“ASP.Net 4.0”应用程序池,而不是为您的应用程序创建的应用程序池。 确保您的应用程序池使用“ApplicationPoolIdentity”而不是NetworkService。从根文件夹中删除NetworkService权限。你不需要它。 IIS具有内置标识(IIS_IUSRS)。

答案 1 :(得分:4)

403是禁止的错误。尝试检查部署文件夹的NTFS权限,确保Network Service用户具有读取权限

enter image description here

此外,请检查IIS应用程序中的身份验证和授权机制:

enter image description here

<强>编辑:

.Net授权规则

enter image description here

答案 2 :(得分:4)

使用FTP发布将MVC 4 WebSite发布到远程服务器后,我遇到了同样的问题。最终为我工作的是在通过Visual Studio发布,登录到远程服务器上的IIS,找到已发布的目录 - &gt;右键单击 - &gt;转换为应用程序。

如果您无权访问服务器,不确定是否有办法在web.config / properties中指定此内容?

答案 3 :(得分:3)

1-验证您的应用程序是否在.NET 4.0下运行(您这样做了)

2-与托管公司核实它在托管计划上支持MVC 3框架。

3-(可行)Bin-Deploy您的MVC运行时库,以便您可以克服服务器上的任何要求。

更多bout bin-deploy您的ASP.NET MVC可以在这里找到:http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

4-检查“网络服务”是否具有对您文件夹的适当访问权限。它基本上应该具有“读取”权限。

答案 4 :(得分:2)

不要忘记aspnet_regiis.exe -ir

答案 5 :(得分:1)

<handlers>
  <add name="rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
</handlers>

请您的托管服务提供商将此处理程序添加到webconfig

答案 6 :(得分:0)

尝试将应用程序池的托管管道模式更改为“经典”而不是“集成”。 虽然它可能不是您所追求的最终结果(使用集成模式可能具有真正的优势),但至少它会指向正确的方向......如果它有效。