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

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

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

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

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


当前回答

Powershell启用功能的方式(Windows Server 2012+)-根据需要进行微调:

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature

其他回答

对于IIS 8 Windows server 2012 R2,这对我来说很有帮助

转到“打开功能”

然后转到所有默认设置,Next、Next、Next等。。

然后,选择如下所示,

然后重置IIS(可选),但要更安全。

这是一个额外的解决方案,因为它是一个通用问题,每个人都有不同的问题,因此也有不同的解决方案。干杯

浏览到“C:\Windows\System32\inetsrv\config”(此处需要管理员权限)打开applicationHost.config

注意:在IISExpress和Visual Studio 2015中,applicationHost.config存储在$(solutionDir).vs\config\applicationHost.config中

查找错误消息页面的“配置源”部分中显示的部分。对我来说,这通常是“模块”或“处理程序”

将overrideModeDefault属性更改为Allow

所以整条线现在看起来像:

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

保存文件后,页面在我的浏览器中加载良好。

警告:在64位Windows上编辑applicationHost.config

我也有同样的问题。

通过启用应用程序服务器功能解决了此问题。已重新启动iis之后。

根据我对类似问题的回答;

尝试在服务器级别解锁相关IIS配置设置,如下所示:

打开IIS管理器在“连接”窗格中选择服务器在主窗格中打开配置编辑器在区段下拉列表中,选择要解锁的区段,例如system.webServer>defaultPath单击右侧窗格中的“解锁属性”对需要解锁的任何其他设置重复上述步骤重新启动IIS(可选)-在“连接”窗格中选择服务器,然后单击“操作”窗格中的“重新启动”

对于Windows Server 2012和IIS 8,过程类似。

应安装Web服务器(IIS)和应用程序服务器,并且还应在应用程序服务器下具有可选的Web服务器(IIS)支持。