I use IIS 10 on windows 10, I was use to have web.config files with customErrors, but now it is not accepting it anymore. I been procrastinating hotfixing just removing the line from the webconfig, but now I am trying to figure out what is wrong and fix it once and for all.
Error Source:
<system.web>
<customErrors mode="Off"/>
<httpRuntime targetFramework="4.6.2" />
The machine config has <deployment retail="true" />
, and whit this configuration if I remove the tag IIS works fine and the web application is served correctly, if I change the retail setting to false, it will break again asking for the customErrors to be set.
I could not find any information online on this specific type of issue, and I tried to follow also the error code investigation path, but it leads to TLS configuration which in my case is correct and enabled.
After lots of digging I found that one of the machine.config (for the current framework4x and architecture x64) had a missing section in the system.web group:
<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" />
I copied the section from the 32 bit version of the machine.config and this fixed the issue. This documentation about IIS configuration hierarchy helped me: https://learn.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