ASP MVC在IIS 7个结果:HTTP错误403.14 - 禁止ASP MVC在IIS 7个结

2019-05-08 16:27发布

我开发一个ASP MVC Web项目。 现在我有迫使我部署到发展的IIS7 inmiddle的要求(检查某些功能)。 我得到每当我试着输入网站的URL上面提到的错误消息。 (注:发展机:Vista家庭高级版,IIS7)

我做了什么到现在为止:

编辑HOSTS文件(C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机)。

把两个域在它(127.0.0.1 domain1.com和127.0.0.1 domain2.com)。

创建文件夹C:\网站\ dirOfApplication并从Visual Studio 8中部署到该文件夹​​。

在IIS7创建与主机名称domain1.com和应用程序文件夹上面的一个新的站点。

键入Web浏览器的结果地址domain1.com上述错误(HTTP错误403.14 - 禁止 - Web服务器被配置为不列出此目录的内容。)

我想我失去了一些东西,但不知道是什么! Tryed部署文件System.Web.Mvc,System.Web.Abstraction&System.Web.Routing机智相同的结果。 每当我试着打F5和运行应用程序,它工作正常!

Answer 1:

也许是有用的人:我的应用程序IIS 7.0转换为MVC 4 .NET框架4.5和安装框架,我的服务器上后,我遇到的问题中提到的相同的“禁止”的错误。 我试过上述所有选项都无济于事,当我注意到了

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

从我的web.config不见了。 加入之后,一切工作。 很简单,但容易忽视...

编辑:

当然,上述解决方案的工作,但它的确是一种资源的浪费。 我觉得这是更好地添加为所指出的路由模块克里斯·赫林的意见。

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


Answer 2:

回答了SO 在这里 ,问题: 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选项。



Answer 3:

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



Answer 4:

这是因为过于确定你(我)在做什么!

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

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



Answer 5:

在我的情况下下面的方法帮了我:

  1. aspnet_regiis -iWindows\Microsoft.Net\Framework

  2. 将模块添加到system.webServer

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


Answer 6:

我遇到过同样的问题。 此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-错误-当-它们-尝试到进程-扩展名的URL上-IIS -7-和-IIS-7.5

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

  1. 导航到以下节点:互联网信息服务 - >万维网服务 - >常见HTTP功能
  2. 确保“HTTP错误重定向”选项被选中。

-要么-

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

重新启用或者HTTP错误重定向模块或静态内容压缩模块可确保ASP.NET和IIS正确同步HTTP管道事件。 这使URL路由模块来处理extensionsless网址。



Answer 7:

尝试应用如下图所示进行如下设置:

1)提供必要的许可权IIS_IUSRS用户IIS Server (右键单击该网站,然后编辑权限>安全性)。

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

希望这可以帮助...



Answer 8:

另外,也请,如果你正在运行64位,已启用的应用程序池设置32位应用程序



Answer 9:

取消“预编译出版社在” -我得到的我刚刚写在VS2015 Web服务的403.14错误,所以我重写了它在VS2013,并得到同样的错误。 在这两种情况下,我不得不“预编译出版在”上。 我未选中,但仍然得到错误。 在我来说,我也有“ 删除发布之前,所有现有文件 ”,但复制新发布的文件有之前没有删除一切从服务器上的目标目录。 如果你不这样做, -一个“PrecompiledApp.config”文件留下这会导致问题。 一旦我删除的文件我在VS2013和我的web服务的VS2015版本都金。



Answer 10:

请注意,有时错误的Managed pipeline mode将导致此错误。 有两种选择,选择integratedclassic



Answer 11:

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

当你有MVC 2+运行托管在IIS 7 +,这是因为ASP.NET 4在IIS中未注册时出现此错误。 以我为例,我创建一个MVC 3项目,并收留了它在IIS 7.5。

为了解决这个问题,请确保您有MVC 2或以上和.NET Framework 4.0安装,然后运行命令提示符管理员,键入以下命令行:

32位(x86)的

%WINDIR%\ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

64位(64位)

%WINDIR%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_REGIIS.EXE -ir



Answer 12:

如果顶部的答案不工作,寻找一个名为config PrecompiledApp.config在主机目录,如果它存在删除它。 此文件可防止IISExpress和LocalIIS正常工作。 (我认为这是一个错误)在我的情况下,文件的内容是:

<precompiledApp version="2" updatable="true"/>

而我100%肯定的,这是我的情况的问题,因为我在2小时内尝试了一切,并用此配置测试很多次。

还有一两件事:你不能使用aspnet_regiis在新版本的Windows和IIS所以尽量

dism /online /enable-feature /featurename:IIS-ASPNET45 /all


Answer 13:

我想这里的一切; 毫无效果。 问题是在我Web.config文件,在某种程度上依赖集绑定接到最低值变1至最低0

<!-- was -->
<runtime>
    <assemblyBinding>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" />
                <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />


<!-- should have been -->
                <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />


Answer 14:

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

  • 丢失的DLL
  • 数据库连接字符串指向一个无法访问服务器。


Answer 15:

另外一个更多的事情可以是可能的

安装.NET Framework 4.0手动

这个解决方案是IIS7上窗7

打开CMD与管理previleges

进入目录 “C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319”

-I型ASPNET_REGIIS.EXE

得到了你的INET经理在运行命令“INETMGR”打字

刷新你的IIS7

重新加载该网站。



Answer 16:

检查您的Global.asax文件。 就我而言,它是空的。



Answer 17:

我知道这是一个老话题,但你也可以得到这个错误(在调试),如果你有一个名为一样在控制器路由文件夹。

举例来说,如果你有一个UserController中,有一个名为/用户的路线,你也有你的解决方案称为“用户”文件夹,然后IISExpress将尝试浏览的文件夹,而不是展示你的看法。



Answer 18:

在我的情况的web.config和除/ bin文件夹中缺少的所有文件(不以某种方式复制)。
傻,但是这是我已经检查的最后一件事。



Answer 19:

最近,我有这个错误,发现问题是由功能“HTTP重定向”引起了不被我的Windows服务器上启用。 本博客文章帮我打通故障排除找到答案(尽管是旧的Windows Server版本): http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable -不是,工作与- iis.aspx为新服务器去电脑管理,然后向下滚动到Web服务器角色,然后单击add role services



Answer 20:

我一直在使用身份假冒:

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

当推到服务器,你必须给该用户名访问Temporary ASP.NET文件夹,以便它可以读/写/执行正确:

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

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



Answer 21:

我使用的是:赢服务器2012 R2 / IIS 8.5 / MVC4 / .NET 4.5

如果上述的工作,然后试试这个:

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

这踢我的屁股了几天。



Answer 22:

用C#4.5 ASP.NET项目我已经在Web平台安装程序安装 ASP.NET扩展解决这样的问题



Answer 23:

我有这个问题,但它是通过将Internet信息服务(IIS)管理器,双击目录浏览和点击启用容易固定。

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



Answer 24:

我知道你曾在内部主机这个问题,但我已经在外部主机经历过这样一个问题之前,在我的情况下,它有它自己的分辨率,也许它可以拯救别人的时间:

事实上我的网站是由某种原因,目前我不知道拦住,检查出来,如果你有同样的问题,在WebsitePanel主页转到网页 - >网站,然后从列表中选择您的网站的域名之后,在页面的右边刚打开,请检查您是否看到这个词已启动,否则,如果你看到停止了字,使之再次上手。 就这样。



Answer 25:

我用了一个数字,这意味着它要我的其他服务器中的一个输入了错误的IP地址。 很混乱,你得到一个.NET错误页,但在错误的机器!



Answer 26:

想在这里建议每一个解决方案之后,我发现了另一个可能的解决方案: URLScan的

在IIS的WebDAV已禁用,即使在我的应用程序的web.config,DeltaV的处理器和模块已被删除。 放还是返回403 -无需在IIS日志的任何日志条目禁止 。 (GET / POST工作的罚款)。

原来,IIS具有的活性ISAPI滤波器(URLScan的)启用这阻止所有看跌期权。 URLScan的去除后,它为我工作。



Answer 27:

步骤1:选择的量,HTTP错误在IIS生产,然后在目录浏览点击如下所示的图像中的位置:

步骤2:在目录浏览窗口在IIS点击在右侧操作使能如下面的图中:

现在,目录浏览为您的asp.net网站的启用,只需重新启动IIS中的Web应用程序和浏览网站在浏览器中看到的结果。



Answer 28:

你可以很容易地通过执行以下步骤解决这个问题:

打开IIS管理器,然后选择你的网站,你要部署(从左侧树状面板),然后双击应用程序设置图标,打开应用程序设置对话框,然后你会看到在该行命名的网页上屏幕,双击网格视图:启用和设定值设置为true(这是默认为false)。

它的工作对我来说,因为我做之前,我收到了同样的错误,我甚至支持目录浏览功能 (如在IIS论坛推荐的官方IIS引导),但是当我浏览网站播下一个目录列表,而不是实际的网页,但是当我做了这个问题上面的步骤解决,每一件事情的罚款(但不要忘记解决,当然这个问题后,授予在SQL登录asppool访问)

正如我所说的它的工作很适合我,我希望它运作良好,对你来说太好运



文章来源: ASP MVC in IIS 7 results in: HTTP Error 403.14 - Forbidden