题 配置错误:此配置部分不能在此路径中使用


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

配置错误:此配置部分不能在此路径中使用。   当该部分被锁定在父级别时会发生这种情况。锁定是   默认情况下(overrideModeDefault =“Deny”),或者由a显式设置   使用overrideMode =“Deny”或遗留的位置标记   有的allowOverride = “假”。

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

上面链接网站上给出的解决方案是设置 允许 对于我的错误中提到的部分中的overrideModeDefault,在 的applicationHost.config 文件。在我的情况下,在 安全 在 system.webServer。但如果我看一下 的applicationHost.config 在我的本地计算机上,该部分已经正确部署,该部分设置为 拒绝

如果这个解决方案是正确的,我的本地实例如何运行得很好 web.config中?根据我的说法 的applicationHost.config,该部分应该被锁定,但事实并非如此。我宁愿不改变 的applicationHost.config 文件,因为该服务器上运行了许多其他站点。还有其他解决方案吗?


1448
2018-03-20 21:07


起源


一个详细的博客: sforsuresh.in/... - Suresh Kamrushi
如果你来这里是因为你在尝试使用“认证网络”程序时遇到了这个错误(certifytheweb.com),那么这篇博客文章可能是相关的: renniestechblog.com/information/... - RenniePet


答案:


我有同样的问题。不记得我在网上找到它的地方,但这就是我做的:

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

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


2767
2017-10-12 22:06



构建了一个全新的Windows Server 2012,当然,忘了在Web Server下添加Application Development。我检查了除CGI,ASP和服务器端包含之外的所有内容,因为我这里没有经典的ASP。 - Chris
我检查了“应用程序开发功能”,但稍后意识到该文件夹​​中没有任何功能实际上已被选中启用。我手动选择每个功能(CGI除外)以删除错误。 - Ciaran Gallagher
在Windows 8上也确认了IIS8。 - Babak Naffas
确认IIS8.5 for Windows 8.1。 - Mike P.
确认为Windows 10(IIS 10.0 Build 10240) - sixones


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

关心这个 学习IIS文章

使用 特征授权 从IIS的根目录:

Feature delegation icon in IIS Manager

然后,您可以控制每个机器级读/写权限,否则将为您提供 overrideMode = “拒绝” 错误。

Example use of Feature Delegation


303
2017-09-09 21:28



为了继续这一点,对我有用的是(注意这个解决方案在我的DEV盒子而不是生产系统): - >按委派排序 - >查找所有只读类型 - >将它们设置为读/写 - Aaron Reed
这修复了我在IIS7管理器中收到的错误消息。更令人惊讶的是,它还修复了HTTP 500客户端在尝试访问网站时收到的信息。 - Brian Gideon
与接受的答案相比,这听起来更好,只是在没有安全建议的情况下启用开发人员工具...... - Sebastian J.
这里发布了两个看似不同的解决方案,这两个解决方案都是必需的。首先,安装“Application Server”和“Web Server”支持功能。第二个是,检查委托设置并将有问题的设置从只读更改为读/写。重要说明:除非安装了正确的支持功能,否则代理功能中可能无法使用违规配置。在我的情况下,“身份验证 - 匿名”是问题,并且在我安装Application Server功能之前,此委派功能未显示。 - maplemale
这对我有用。在IIS 8.5,Windows Server 2012 R2中 - ellickakudy rajeesh


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

Web Server (IIS) 和 Application Server 应该安装,你也应该有可选 Web Server (IIS) Support 下 Application Server

Windows Server 2012 and IIS 8 Requirements for MVC


166
2018-01-30 01:01



为了澄清,“Web服务器(IIS)支持”功能复选框不在上面的图片中的“应用服务器”节点下。它将在您执行几个“下一个”并在左侧导航栏上传递服务器角色和功能后显示,并进入“角色服务”(不会出现在上面的图片中,但会在几个“下一个”之后显示给您)。这让我抓狂:P - thedrs
对我来说,只有在我第一次添加Application Server规则然后重新启动添加角色和功能向导后才会出现这些选项 - wonster


浏览到“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


112
2018-04-30 20:22



64位的链接是404,糟糕的是你没有在你的答案中直接包含有用的信息。 - Erik Philips
这是我在Windows 8.1开发环境中的ipSecurity,+ 1。 - Moby's Stunt Double
对于64位Windows,您需要通过notepad.exe并打开%SystemRoot%\ System32 \ inetsrv \ config以获取文件的正确副本 - Eddie Loeffen
这个答案在主题上比接受的更多! - Igor Soloydenko
与其他答案相比,这对我有用 - fiberOptics


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

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

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


58
2017-12-06 21:17



这对我来说也适用于system.webServer / security / ipSecurity - Bart Calixto
答对了。不得不以管理员身份运行。 - JackMorrissey
我必须为-section:system.webServer / modules执行此操作。 - Mike
为我工作 - 我想要设置 /section:access /sslFlags:SslNegotiateCert 并发现我不得不使用上面的 -section:access  报告为 Unlocked section "system.webServer/security/access"... - Shaun Wilde
在Windows Server 2012 R2上为我工作 - Robben_Ford_Fan_boy


按照 我对这个类似问题的回答;

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

  1. 打开 IIS管理器
  2. 选择服务器 在“连接”窗格中
  3. 打开 配置编辑器 在主窗格中
  4. 在章节下拉菜单中,选择要解锁的部分,例如 system.webServer> defaultPath
  5. 点击 解锁属性 在右侧窗格中
  6. 重复您需要解锁的任何其他设置
  7. 重新启动IIS(可选) - 在“Conncetions”窗格中选择服务器,在“Actions”窗格中单击“Restart”

27
2017-09-06 08:16



Upvoted,因为这是一个基于事实的答案而不是'我戳了我的系统直到问题消失' - Mark Mullin
这个解决方案对我有用,但真正的原因是不同的 - 我必须安装ASP.NET 4.5(Add-WindowsFeature Web-Asp-Net45)。 - Der_Meister


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

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

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

24
2017-11-18 11:22



这不能解决问题。要批评或要求作者澄清,请在帖子下方留言 - 您可以随时评论自己的帖子,一旦有足够的评论 声誉 你将能够 评论任何帖子。 - Rook
@Rook这是一个非常好的答案,因为它不会盲目地促进在服务器上启用应用程序开发功能;它说明了获得此错误的特定方案的受控解决方案。它可能措辞得更好。好工作提升了当时新家伙的信心 - 在你和NAZIK首次尝试加入社区之后,他从未回来过。 - qujck
这解决了我的问题,该应用程序具有Windows身份验证的应用程序级配置。 - nebffa
很好,这就是应用程序开发功能没有的技巧 - Stephen Holt
适合我,但为什么? - Kevman


Windows Server 2012 同 IIS 8 我通过启用解决了这个问题 ASP.NET 4.5 特征:

enter image description here

然后跟着 肯的​​答案


23
2018-02-10 17:56



在PowerShell中:Add-WindowsFeature Web-Asp-Net45 - Der_Meister
也为我工作:WinServerCore2016 - ds19


对于胜利10 (也可能适用于其他Windows版本。)

1。 打开“打开或关闭Windows功能“by:WinKey + R =>”optionalfeatures“=>好的

enter image description here

  1. 在“下”启用这些功能应用开发功能“

enter image description here


21
2018-02-23 09:40



谢谢!这在Windows 10上适用于我。 - user752746
为我工作。谢谢 - Nihar Sarkar


最好的选择是改变 Application Settings 来自 Custom Site Delegation
打开 IIS 并从根选择 Feature Delegation 然后选择 Application Settings 并从右侧边栏选择 Read/Write Step #1 Step #2


12
2017-08-16 12:46



到目前为止最好的只是因为它有意义, - hal9000
我的IIS管理器没有很多这些功能。我想我必须通过Windows功能添加它们。我选择了所有这些(黑色方框),但是当我点击它时,没有选择任何选项!我从未见过使用所有Windows操作系统。羞辱你微软!浪费了一大堆时间。确认所有WINDOWS功能都经过检查是否有所需要..不要使用黑色方形选择 - yardpenalty
或者了解在服务器上安装软件时“黑色方块”的含义。 - LarryBud