IIS – 此configuration部分不能在此path使用(configurationlocking?)

我遇到了将站点部署到服务器的错误。 当试图加载主页,或在IIS中的新站点上访问身份validation时,出现错误:

configuration错误:此configuration节不能在此path使用。 当部分locking在父级别时,会发生这种情况。 locking可以是默认的(overrideModeDefault =“Deny”),也可以通过overrideMode =“Deny”或legacy allowOverride =“false”的位置标签进行显式设置。

更多的细节可以在这里find, scheme7匹配我的hex错误代码。

在上面的链接站点上给出的解决scheme是在applicationHost.config文件中的错误中提到的部分中设置Allow for overrideModeDefault。 在我的情况下,在system.webServer中的 安全 。 但是,如果我查看本地计算机上的applicationHost.config ,该站点已正确部署,该部分设置为拒绝

如果这个解决scheme是正确的,我的本地实例如何在相同的web.config下运行得很好? 根据我的applicationHost.config ,该部分应该被locking,但事实并非如此。 我宁愿不要更改applicationHost.config文件,因为在该服务器上运行的许多其他网站。 还有其他解决scheme吗?

我有同样的问题。 不记得我在网上发现的地方,但是这是我做的:

  • 点击“开始button”
  • 在search框中input“打开或closures窗口function”
  • 在function窗口中单击:“Internet信息服务”
  • 点击:“万维网服务”
  • 点击:“应用程序开发function”
  • 检查(启用)function。 我检查了所有,但CGI。

顺便说一句,我正在使用Windows 7。

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

关心这个学习IIS文章 :

使用IIS根目录下的function委派

IIS管理器中的功能委派图标

然后你可以控制每个机器级别的读/写权限,否则会给你overrideMode =“Deny”错误。

功能委派的例子使用

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

应该安装Web Server (IIS)Application Server ,并且还应该在Application Server下具有可选的Web Server (IIS) Support

Windows Server 2012和IIS 8的MVC要求

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

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

find出现在错误信息页面的“configuration源”部分的部分。 对我来说,这通常是“模块”或“处理程序”

overrideModeDefault属性更改为Allow

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

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

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

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

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

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

也许在IIS 8上得到这个错误的人的另一个信息是在Microsoft Server 2012平台上。 我花了几个小时与执行appcmd后冒出的其他错误作斗争。 最后,我能够通过删除Web服务器angular色并重新安装它来修复它。

我需要从提升的命令提示符运行这两个命令:

 %windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication %windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication 

根据我对这个类似问题的回答,

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

  1. 打开IISpipe理器
  2. 在“连接”窗格中select服务器
  3. 在主窗格中打开configuration编辑器
  4. 在部分下拉列表中,select要解锁的部分,例如system.webServer> defaultPath
  5. 点击右侧窗格中的解锁属性
  6. 重复其他设置,你需要解锁
  7. 重新启动IIS(可选) – 在“连接”窗格中select服务器,单击“操作”窗格中的重新启动

在使用IIS 8的 Windows Server 2012上 ,我通过启用ASP.NET 4.5function解决了这个问题:

在这里输入图像描述

然后跟着肯的​​回答 。

最好的select是从Custom Site Delegation更改Application Settings
打开IIS并从根目录selectFeature Delegation ,然后selectApplication Settings然后从右侧边栏selectRead/Write 步骤1 第2步

对于赢10 (可能也会在其他的Windows版本上工作。)

1.打开“ 打开或closures窗口function ”:WinKey + R =>“optionalfeatures”=>确定

在这里输入图像描述

  1. 在“ 应用程序开发function”下启用这些function

在这里输入图像描述

似乎在IIS Express和VS 2015中,$(solutionDir).vs \ config \ applicationhost.config中有一个applicationHost.config文件的副本,因此您需要在其中进行更改。 看到这个链接: http : //digitaldrummerj.me/iis-express-windows-authentication/

确保以下每行更改:

 <section name="windowsAuthentication" overrideModeDefault="Allow" /> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <add name="WindowsAuthenticationModule" lockItem="false" /> <add name="AnonymousAuthenticationModule" lockItem="false" /> 

在我的情况下,它是在服务器上没有启用“HTTP激活”下的.NET Frameworkfunction。 所以对于Windows Server 2012来说,为我工作的解决scheme是:

服务器pipe理器 – >添加angular色和function – >function – >确保在您想使用的.NET Framework版本中选中“HTTP激活”

要解决这个问题,打开IIS Express applicationhost.config。 该文件存储在C:\ Users [您的用户名] \ Documents \ IISExpress \ config \ applicationhost.config

VS2015 +:config文件位置的更新是$(solutionDir).vs \ config \ applicationhost.config

寻找以下几行

 <section name="windowsAuthentication" overrideModeDefault="Deny" /> <section name="anonymousAuthentication" overrideModeDefault="Deny" /> <add name="WindowsAuthenticationModule" lockItem="true" /> <add name="AnonymousAuthenticationModule" lockItem="true" /> 

改变这些行

 <section name="windowsAuthentication" overrideModeDefault="Allow" /> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <add name="WindowsAuthenticationModule" lockItem="false" /> <add name="AnonymousAuthenticationModule" lockItem="false" /> 

保存并刷新Asp.net页面。

启用function的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 

在我的情况下,我得到这个错误,因为我在错误的configuration文件上运行。

我正在这样做:

 Configuration config = serverManager.GetWebConfiguration(websiteName); ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime"); serverRuntimeSection["alternateHostName"] = hostname; 

而不是正确的代码:

 Configuration config = serverManager.GetApplicationHostConfiguration(); ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName); serverRuntimeSection["alternateHostName"] = hostname; 

换句话说,我试图在网站的web.config上运行而不是全局文件C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config,它有一个网站部分(或者可以有一个部分)。 我试图改变的设置只存在于applicationHost.config文件中。

在我们使用IIS 8的情况下,我们发现错误是在尝试查看身份validation时产生的,

  1. 服务器function委派标记为“身份validation – Windows”=“只读”
  2. 该网站有一个web.config显式引用Windows身份validation; 例如,

标记网站function委托“身份validation – Windows”=“读/写”,错误消失。 看来,标记为“只读”的function,web.config是不允许引用它甚至禁用它,因为这显然构成了一个写。

网站web.config IIS管理器 - 服务器功能委派

当我收到这个好消息时,我需要更改子文件夹的SSL设置。 在我的情况下,下面的行动帮助我。

打开C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config

并将overrideModeDefault =“Deny”的值更改为“Allow”

 <sectionGroup name="system.webServer"> ... <sectionGroup name="security"> <section name="access" overrideModeDefault="Allow" /> </sectionGroup> 

这对我来说,IIS 8 Windows服务器2012 R2的技巧

转到“打开function”

然后转到所有的默认设置,下一步,下一步,下一步等。

然后,select如下所示, 在这里输入图像描述

然后重置IIS(可选),但做更安全的一面。

在这里输入图像描述

这是一个额外的解决scheme,因为它是一个普遍的问题,每个人都有不同的问题,因此不同的解决scheme 干杯!

对于Windows Server 2008和IIS 7,过程与此类似。 请参考: http : //msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx

在添加angular色服务,你会看到“应用程序开发function”

检查(启用)function。 我检查了所有。

挪威语google ref:

Denne konfigurasjonsdelen kan ikke brukes i denne banen。 Dette skjernårdelen erlåstpået overordnetnivå。 (overrideModeDefault =“Deny”)eller angis eksplisitt av en stedskode med overrideMode =“Deny”eller den eldre allowOverride =“false”。

打开所有的应用程序开发选项为我解决这个问题。 我可能不需要全部,但现在它可以工作。

在Vista Home Premium上安装IIS 7后收到相同的问题。 要更正错误,我更改了位于Windows \ system32 \ inetsrv中的applicationHost.config文件中的以下值。

更改位于部分 – >中的以下所有值

 <div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div> <div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div> 

你可以试试这个:

转到您得到拒绝错误的应用程序path,右键单击

属性 – >安全选项卡

在这种情况下,更改权限并检查checkbox的读写。 那么希望工作没有任何错误。

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

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

MySolutionDir \ .VS \设置\对ApplicationHost.config

它开始使用新configuration中的设置,而不是我已经定制的全局IIS Express设置。 (\用户\%USER%\文件\ IISExpress \configuration\对ApplicationHost.config)

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

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

我遇到过同样的问题。

  • 通过启用Application Serverfunction来解决此问题。 之后重新启动iis。

这对我有用在IIS 8中,您可以通过将服务器更改为IIS Express来解决此问题。 转到debug->属性在Web中,从下拉列表中select服务器作为IIS Express,然后重新生成解决scheme

在应用程序级别(Web.Config)上进行更改:

请从web.config中删除信任级别:

实际上,当我尝试在主机服务器上托pipe我的网站时,我得到了这个错误,而在这个服务器上我没有控制权。 从我的应用程序web.config中删除上面的行解决了我的问题。

我有一个问题,我正在把重写=“允许”值(这里已经提到过)……但在一个x64位系统…….我的32记事本++幻影保存它们。 切换到记事本(这是在64位O / S上的64位应用程序)允许我保存设置。

参见:

http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/

相关文字:

我遇到的其中一个问题需要查看和编辑applicationHost.config。 该文件位于%SystemRoot%\ System32 \ inetsrv \ config。 看起来很简单。 我能够很容易地从命令行中find它,但是当我用我最喜欢的编辑器(Notepad ++)加载它时,我得到了一个文件未find的错误。 原来System32文件夹被redirect到32位应用程序到SysWOW64。 似乎没有办法使用32位应用程序查看System32文件夹。 去搞清楚。 幸运的是,64位版本的Windows随附记事本的64位版本。 尽pipe我不喜欢它,至less它是有效的。

在我的情况下,我试图更新IIS中的身份validation设置除了浏览之外,还出现此错误。 我能够通过从web.config本身删除身份validation设置来删除此错误。 在某些情况下,删除有问题的configuration部分可能不太有创意,并且比更改服务器angular色和function更为可取:

删除部分:

  <security> <authentication> <windowsAuthentication enabled="true" /> </authentication> </security> 

以下为我工作:

转到项目属性。 Web选项卡。 设置为本地IIS并设置特定的页面。

我有Windows 7和Visual Studio 2013。

我解决了这个问题

去cmd并执行aspnet_regiis -i

希望对某人有所帮助。