HTTP 错误 500.0 – Internal Server Error

win7、win8、win8.1当使用64位系统时,虽然站点已经设置应用程序池为.NET CLR版本v4.0.30319,设置托管管道模式为:经典,却出现了错误:

HTTP 错误 500.0 – Internal Server Error

最可能的原因:

  • IIS 收到了请求;但在处理请求过程中出现内部错误。此错误的根本原因取决于处理该请求的是哪一个模块以及出现此错误时工作进程中出现了何种情况。
  • IIS 无法访问网站或应用程序的 web.config 文件。如果 NTFS 权限设置不正确,便会出现这种情况。
  • IIS 无法处理网站或应用程序的配置。
  • 已经过身份验证的用户没有使用此 DLL 的权限。
  • 该请求将被映射到托管处理程序,但不会安装 .NET 可扩展功能。

可尝试的操作:

  • 确保 web.config 文件的 NTFS 权限正确,并允许访问 Web 服务器的计算机帐户。
  • 检查事件日志中是否记录了任何附加信息。
  • 确认 DLL 的权限。
  • 如果请求被映射到托管处理程序,则安装 .NET 可扩展功能。
  • 创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处

详细错误信息:

模块    IsapiModule
通知    ExecuteRequestHandler
处理程序    All To Asp.NET
错误代码    0x800700c1

鉴于当前操作系统为64位,第一反应就是开起32位支持,在应用程序池启动32位应用程序支持。虽然没有在出现500错误,但是运行速度却非常慢,即使更换应用程序池管道模式为集成依旧很慢。最后排查web.config中的配置,发现缺少64位支持的配置,添加以下配置:
[xml]<system.webServer>
<handlers>
<add name="All To Asp.Net 4.0" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
</handlers>
</system.webServer>[/xml]
最终配置为:应用程序池管道模式为经典模式、无需启用32位应用程序支持。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据