HTTP错误500.19主因是IIS权限不足或配置冲突;需清理残留站点(如test)、启用ASP.NET等核心功能、为applicationHost.config添加IIS_IUSRS读取权限,并可重置元数据库恢复默认配置。

Win10系统启用IIS后,访问本地网站时浏览器弹出“HTTP错误500.19 - Internal Server Error”,提示“配置文件无法读取”或“找不到指定模块”,这类报错往往不是代码问题,而是IIS自身权限或配置冲突导致的硬性阻断。
检查并清理残留的web.config干扰文件
打开计算机管理→服务和应用程序→Internet信息服务(IIS)管理器,在左侧树形结构中展开“网站”,找到名称含“test”“demo”“Default Web Site”之外的异常站点(如报错信息中明确写出\test\web.config,就重点看test这个节点)。
右键该站点→删除,【注意:绝不可删除“Default Web Site”本身,否则IIS根站点将失效】。
删完后刷新IIS管理器,再用浏览器访问http://localhost,若错误消失,说明是旧实验残留的web.config与当前IIS模块不兼容所致。
启用IIS必需的核心功能组件
进入“控制面板→程序→启用或关闭Windows功能”,逐级展开“Internet Information Services”,确保以下三项已勾选:
✓ Web管理工具 → IIS管理控制台
✓ 万维网服务 → 应用程序开发功能 → ASP.NET 4.8(或对应你项目版本)
✓ 万维网服务 → 常见HTTP功能 → 静态内容、默认文档、目录浏览
勾选完成后点击“确定”,系统会自动安装并重启相关服务。这一步漏掉ASP.NET或静态内容,IIS连基础HTML都返回500.19。
重置IIS配置文件权限
第一步:以管理员身份运行命令提示符,执行:
iisreset /stop
第二步:进入%windir%\System32\inetsrv\config目录,找到applicationHost.config和redirection.config两个文件。
第三步:右键任一config文件→属性→安全→编辑→添加IIS_IUSRS用户组,并赋予“读取&执行”“读取”权限;同时确认SYSTEM和Administrators拥有完全控制权。
第四步:回到命令提示符,执行:
iisreset /start
这一步绕过图形界面权限设置的常见疏漏——很多用户只改了网站物理路径权限,却忘了IIS自己的配置文件也需要被IIS进程读取。
验证并替换损坏的IIS元数据库
方法一:使用PowerShell重建元数据库
以管理员身份打开PowerShell,依次执行:
Stop-Service W3SVC
Remove-Item "$env:windir\System32\inetsrv\config\applicationHost.config" -Force
Start-Service W3SVC
系统会自动生成一份干净的默认配置。
方法二:从健康机器导出备份(仅限有备份场景)
若你有另一台正常运行IIS的Win10电脑,可将其applicationHost.config复制过来,直接覆盖当前损坏文件。
【警告:方法一将清除所有手动配置的网站、应用池、SSL绑定等,仅保留默认站点】

















