Windows Server 2022下IIS10报500错误:ExtensionlessUrlHandler模块异常求助
解决IIS 10中HTTP 500.0错误(Handler损坏模块ManagedPipelineHandler)
针对Windows Server 2022上IIS 10出现的Handler "ExtensionlessUrlHandler-Integrated-4.0"存在损坏模块"ManagedPipelineHandler"错误(错误码0x800703e9),可尝试以下方案:
1. 重新注册.NET 4.0到IIS
以管理员身份打开命令提示符,执行以下命令:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
该命令会重新将.NET Framework 4.x注册到IIS,修复ManagedPipelineHandler模块的关联问题。
2. 重置ExtensionlessUrlHandler模块映射
- 打开IIS管理器,定位到目标站点,点击右侧的「Handler Mappings」
- 找到
ExtensionlessUrlHandler-Integrated-4.0,右键删除 - 点击右侧「Add Managed Handler」,配置如下:
- 请求路径:
*. - 类型:
System.Web.Handlers.TransferRequestHandler - 名称:
ExtensionlessUrlHandler-Integrated-4.0 - 取消勾选「Invoke handler only if request is mapped to」
- 请求路径:
- 点击「确定」后,重启站点生效
3. 检查应用程序池的.NET CLR版本
- 在IIS管理器中找到站点对应的应用程序池,右键选择「高级设置」
- 将「.NET CLR版本」设置为
v4.0.30319(对应.NET 4.8.1),确保不要选择「无托管代码」 - 重启应用程序池后测试
4. 修复系统核心文件
错误码0x800703e9可能关联系统文件损坏,执行以下命令修复:
- 管理员命令提示符运行:
DISM /Online /Cleanup-Image /RestoreHealth
- 完成后继续执行:
sfc /scannow
- 重启服务器后再次验证
5. 临时禁用web.config的自定义handler配置
将web.config中自定义的handlers段注释掉,使用IIS默认配置测试:
<!-- <handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="" /> </handlers> -->
若错误消失,再逐步调整handler配置,避免preCondition为空导致的冲突。
内容的提问来源于stack exchange,提问作者Ravi Kumar
相关产品推荐
相关产品推荐

