asp.net mvc - IIS 7中的ASP MVC导致:HTTP错误403.14-禁止




asp.net-mvc hosting (18)

也许对某人有用:在将我的应用程序转换为使用.NET框架4.5的MVC 4并将框架安装到使用IIS 7.0的服务器上之后,我遇到了与问题中提到的相同的'禁止'错误。 当我注意到这一点时,我尝试了上述所有选项都无济于事

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

从我的web.config中丢失。 添加完成后,一切正常。 简单但容易忽略...

编辑:

当然,上面的解决方案会起作用,但这确实是浪费资源。 我认为最好是在评论中添加Chris Herring指出的路由模块。

<system.webServer>
  <modules>
    <remove name="UrlRoutingModule-4.0" />
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  </modules>
</system.webServer>

我正在开发一个ASP MVC Web项目。 现在我有一个要求,迫使我部署到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和application文件夹的新站点。

在Web浏览器中输入地址domain1.com会导致上述错误(HTTP错误403.14 - 禁止 - Web服务器配置为不列出此目录的内容。)

我想我错过了一些东西,但不知道是什么! 尝试部署文件System.Web.Mvc,System.Web.Abstraction&System.Web.Routing具有相同的结果。 每当我尝试点击F5并运行应用程序时,它都能正常工作!


使用C#4.5的ASP.NET项目,我通过在Web Platform Installer中安装 ASP.NET扩展来解决这个问题


here回答问题: 403 - 禁止在iis7.5上部署基本的MVC 3

运行aspnet_regiis -i 。 通常我发现你需要这样做才能让4.0个应用程序正常工作。 以Administrator身份打开命令提示符(右键单击命令提示符图标并选择以管理员身份运行):

cd \
cd Windows\Microsoft.NET\Framework\v4.xxx.xxx
aspnet_regiis -i

安装并注册后,请确保您的应用程序正在使用设置为.NET 4.0的应用程序池。

更新:我刚刚发现这个命令的问题。 使用-i将所有应用程序池更新到ASP.NET 4.0。

使用aspnet_regiis -ir安装ASP.NET的版本,但不会将任何Web应用程序更改为此版本。 您可能还想查看-iru选项。


在我的情况下,web.config和除/ bin文件夹以外的所有文件都丢失了(不是以某种方式复制)。
傻,但那是我检查过的最后一件事。


如何解决“HTTP错误403.14 - 禁止Web服务器配置为不列出此目录的内容”

当您运行托管在IIS 7 +上的MVC 2+时发生此错误,这是因为ASP.NET 4未在IIS中注册。 在我的情况下,我创建了一个MVC 3项目并将其托管在IIS 7.5上。

要修复它,请确保您安装了MVC 2或更高版本以及.Net Framework 4.0,然后以管理员身份运行命令提示符并键入以下行:

32位(x86)

%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

64位(x64)

%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir


如果您正在运行x64,请检查您是否在应用程序池设置中启用了32位应用程序


尝试应用下面显示的以下设置:

1)IIS Server上的IIS_IUSRS用户授予必要的权限(右键单击网站,然后选择编辑权限>安全性)。

2)如果您使用.NET Framework 4 ,请确保您的网站使用的Application Pool .NET Framework版本为v4.0

希望这可以帮助...


尽管所有提供的解决方案出于以下原因,我也遇到了同样的错误:

  • 缺少DLL
  • 数据库连接字符串指向一个不可访问的服务器。

我一直在使用身份模拟器:

<system.web>
    <identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>

推送到服务器时,您必须授予用户对Temporary ASP.NET Files文件夹的访问权限,以便它可以正确读/写/执行:

C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files

显然用你正在使用的版本替换“frameworkversion”和“aspversion”。


我也遇到了这个错误。 所有的配置和权限都是正确的。 但是我忘了将Global.asax复制到服务器,这就是403错误。


我最近发生了这个错误,发现问题是由于我的Windows Server上未启用“HTTP重定向”功能导致的。 这篇博文帮助我通过故障排除来找到答案(尽管是较旧的Windows Server版本): http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx : http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx更新的服务器转到计算机管理,然后向下滚动到Web服务器角色并单击add role services


我正在使用:Win Server 2012 R2 / IIS 8.5 / MVC4 / .Net 4.5

如果以上都没有工作,那么试试这个:

取消选中“发布期间的预编译”

这踢了我几天的屁股。


我遇到了这个问题,但是通过转到Internet信息服务(IIS)管理器,双击目录浏览并单击启用,可以轻松修复此问题。

就我而言,我可以直接访问文件,但无法访问文件夹。


我遇到过同样的问题。 这篇Microsoft支持文章为我解决了这个问题。
https://support.microsoft.com/en-us/help/2023146/mvc-2-and-asp.net-4-web-forms-applications-that-use-url-routing-might-return-http-404-errors-when-they-attempt-to-process-extensionless-urls-on-iis-7-and-iis-7.5

在Windows控制面板“程序和功能”应用程序的“打开或关闭Windows功能”对话框中,执行以下步骤:

  1. 导航到以下节点:Internet信息服务 - >万维网服务 - >通用HTTP功能
  2. 确保选择了“HTTP错误重定向”选项。

-要么-

  1. 导航到以下节点:Internet信息服务 - >万维网服务 - >性能功能
  2. 确保选择了“静态内容压缩”选项。 选择任一选项后,单击“确定”保存更改。

重新启用HTTP错误重定向模块或静态内容压缩模块可确保ASP.NET和IIS正确同步HTTP管道事件。 这使URL路由模块能够处理无扩展名的URL。


检查你的Global.asax文件。 在我的情况下,它是空的。


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

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

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


还有一件事是可能的

手动安装.net framework 4.0

此解决方案适用于窗口7上的IIS7

使用管理特权打开cmd

转到目录“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”

键入aspnet_regiis.exe -i

通过输入运行命令“inetmgr”获得您的inet管理器

刷新你的IIS7

重新加载网站。


这是因为对你(我)做的事情太确定了!

在我的机器上安装了IIS 7,但所需的ASP.NET组件(控制面板 - >程序 - >打开/关闭 - > ASP.NET)不是。

所以安装这个解决了这个问题







hosting