在服务器上运行MVC3应用程序会产生403.14响应

时间:2012-01-11 18:17:06

标签: asp.net-mvc-3 windows-server-2008 iis-7.5

我正在尝试在Windows Server 2008 R2上运行MVC3应用程序。服务器正在运行IIS 7.5。应用程序使用匿名身份验证和v4.0框架应用程序池进行设置。我已经给了IUSR和IIS_IUSRS访问目录,直到我切换到使用服务帐户。

我尝试了以下内容:

  1. 使用IIS注册ASP.NET 4(%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir)
  2. 我在http://www.asp.net/mvc/mvc3
  3. 的服务器上安装了MVC3

    我仍然收到HTTP 403.14响应:“HTTP错误403.14 - 禁止 Web服务器配置为不列出此目录的内容。“

    如果我输入一个虚拟的index.html文件,该页面就会被提供。在我看来,模块不会拦截将请求指向家庭控制器的请求。

    回答:虽然MartinHN的回答确实解决了这个问题,但在提供静态文件时会导致性能下降。由于他的回答,我开始做一些搜索,发现有一个IIS7修补程序可用,允许ASP.NET 4应用程序处理无扩展名的URL,而无需为每个请求运行所有模块。此修补程序可在此处获取:http://support.microsoft.com/kb/980368。安装此修补程序后,我的应用程序按预期提供内容,没有 Web.config更改。

1 个答案:

答案 0 :(得分:3)

可能是以下之一...

检查你的web.config行:

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

确保应用程序池设置为Integrated Pipiline。

您还可以尝试重置IIS中的处理程序映射。点击网站 - &gt;处理程序映射 - &gt;恢复为父级(链接应位于右侧边栏)。