我在将站点部署到服务器时遇到错误。尝试加载主页或在IIS中的新站点上访问身份验证时,我收到错误:

配置错误:无法在此路径上使用此配置节。当节在父级锁定时,会发生这种情况。锁定是默认情况下(overrideModeDefault=“Deny”),或由具有overrideMode=“拒绝”或旧版的位置标记allowOverride=“false”。

更多细节可以在这里找到,在场景7中匹配我的十六进制错误代码。

上面链接站点上给出的解决方案是在applicationHost.config文件中的错误部分中设置Allow for overrideModeDefault。在我的例子中,在system.webServer中的“安全”下。但如果我查看本地计算机上的applicationHost.config(该站点已正确部署),则该部分设置为“拒绝”。

如果此解决方案是正确的,那么我的本地实例在使用相同的web.config时如何正常运行?根据我的applicationHost.config,该部分应该被锁定,但实际上没有。我宁愿不更改applicationHost.config文件,因为该服务器上还有许多其他站点在运行。还有其他解决方案吗?


当前回答

在重新安装iis和所有站点之前,请转到:C: \inetpub\history

应该有多个文件夹(例如:CFGHISTORY_0000000029)。每次修改根配置文件时,都会在其中进行输入。(默认情况下保存最近10次修改的备份)

查找具有正确日期和时间的备份文件夹,单击它,查看是否有名为的文件;应用程序主机配置文件

将其与当前applicationhost.config文件进行比较,或者用它替换当前版本(先备份!!!)。

我最近用一个windows2004更新包修改了我的localhostiis文件,它在根目录锁定了一些功能(如处理程序),这阻止了localhost站点的工作——因此我的搜索。

如果在Visual Code中打开文件,则可以看到每个区域都被overrideModeDefault=“拒绝”

这可能会让您更近一步,同时也是一种在文件损坏时进行恢复的方法。

其他回答

我也有同样的问题。不记得我在网上的什么地方找到了它,但下面是我做的:

单击“开始按钮”在搜索框中,输入“打开或关闭窗口功能”在功能窗口中,单击:“Internet信息服务”点击:“万维网服务”单击:“应用程序开发功能”检查(启用)功能。我检查了除CGI以外的所有内容。

顺便说一下,我正在使用Windows 7。多年来,许多评论都证明了这一点,一直到Windows 10和Server 2019。

您也可以使用IIS管理器来编辑这些设置。

关注本学习IIS文章:

从IIS根目录使用功能委派:

然后,您可以控制每一个计算机级读/写权限,否则将导致overrideMode=“拒绝”错误。

您需要解锁处理程序。这可以使用以下cmd命令完成:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers

对于在IIS 8上遇到此错误的人,可能还有另一个信息,在我的情况下,是在Microsoft Server 2012平台上。我花了几个小时与执行appcmd后冒出的其他错误作斗争。最后,我能够通过删除Web服务器角色并再次安装来修复它。

在重新安装iis和所有站点之前,请转到:C: \inetpub\history

应该有多个文件夹(例如:CFGHISTORY_0000000029)。每次修改根配置文件时,都会在其中进行输入。(默认情况下保存最近10次修改的备份)

查找具有正确日期和时间的备份文件夹,单击它,查看是否有名为的文件;应用程序主机配置文件

将其与当前applicationhost.config文件进行比较,或者用它替换当前版本(先备份!!!)。

我最近用一个windows2004更新包修改了我的localhostiis文件,它在根目录锁定了一些功能(如处理程序),这阻止了localhost站点的工作——因此我的搜索。

如果在Visual Code中打开文件,则可以看到每个区域都被overrideModeDefault=“拒绝”

这可能会让您更近一步,同时也是一种在文件损坏时进行恢复的方法。

就我而言,这是另一回事。

当我在新版本的Visual Studio中加载解决方案时,VS显然创建了一个新的特定于项目的applicationhost.config文件:

MySolutionDir\.vs\config\applicationhost.config

它开始使用新配置中的设置,而不是我已经自定义的全局IIS Express设置。(\Users\%USER%\Documents\IISExpress\config\applicationhost.config)

在我的情况下,这是需要设置的设置。当然,这对你来说可能是另外一件事:

<section name="ipSecurity" overrideModeDefault="Allow" />