部署站点遇IIS 10 HTTP Error 500.19内部服务器错误求助
解决IIS中HTTP Error 500.19 - Internal Server Error(错误代码0x8007000d)的问题
错误本质
错误代码0x8007000d说白了就是web.config配置文件格式无效,IIS没法正确解析里面的内容,常见触发场景有这几种:
- web.config存在XML语法错误,比如标签没闭合、属性引号不匹配
- 配置里引用了IIS没装的模块或组件
- 用了当前IIS版本不支持的配置语法
排查和解决步骤
先查web.config的XML语法
直接用文本编辑器打开web.config,逐行检查:- 确保所有标签都成对闭合,比如开了
<system.webServer>就得有对应的</system.webServer> - 确认所有属性值都用双引号包好,别漏了或者前后不匹配
- 嫌手动查麻烦的话,用本地XML编辑器自带的校验功能,能快速定位语法问题
- 确保所有标签都成对闭合,比如开了
确认IIS组件装全了
如果web.config里用到了特定模块(比如URL重写、ASP.NET Core模块),得检查这些组件有没有安装:- 打开服务器管理器,选“添加角色和功能”
- 找到Web服务器(IIS)下的角色服务,勾选需要的模块
- 装完重启IIS,命令行敲
iisreset就行
验证配置节是否兼容当前IIS版本
低版本IIS可能不支持高版本的配置项,比如IIS7.0用了IIS7.5的配置就会报错:- 对照当前IIS版本的官方文档,删掉或者修改不兼容的配置块
- 可以先把可疑的配置块注释掉,逐个排查到底是哪部分出问题
检查文件权限
得确保IIS应用池的身份用户能读取web.config:- 右键web.config文件,选“属性”→“安全”选项卡
- 添加应用池身份(格式是
IIS AppPool\你的应用池名称),给它读取权限 - 应用设置后刷新站点试试
内容的提问来源于stack exchange,提问作者erum
相关产品推荐
相关产品推荐

