Windows 10 中的 IIS V10.0 不再识别 web.config 上的自定义错误,错误为 500.19 0x80070032

IIS V10.0 in Windows 10 does not recognise anymore customErrors on web.config with 500.19 0x80070032 error

我在 windows 10 上使用 IIS 10,我曾经有 web.config 个带有 customErrors 的文件,但现在它不再接受它了。我一直在拖延修补程序只是从 webconfig 中删除该行,但现在我试图找出问题所在并一劳永逸地修复它。

错误来源:

<system.web>
   <customErrors mode="Off"/>
   <httpRuntime targetFramework="4.6.2" />

机器配置有 <deployment retail="true" />,如果我删除标签 IIS 工作正常并且 Web 应用程序正确提供此配置,如果我将零售设置更改为 false,它会再次中断请求要设置的自定义错误。

我无法在网上找到有关此类特定问题的任何信息,我也尝试按照错误代码调查路径进行操作,但它导致 TLS 配置在我的情况下是正确的并已启用。

经过大量挖掘,我发现 machine.config 之一(对于当前的 framework4x 和架构 x64)在 system.web 组中缺少部分:

 <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
      <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

我从 machine.config 的 32 位版本复制了该部分,这解决了问题。 有关 IIS 配置层次结构的文档帮助了我: https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/the-configuration-system-in-iis-7#:~:text=%20At%20the%20root%20%28or%20global%29%20level%2C%20there,global%20defaults%20for%20the%20.NET%20framework...%20More%20