我放在一个简单的HTML文件和IIS 7投掷500错误。 错误细节几乎没有提供任何信息。
一般来说,如果一个静态的HTML文件抛出这种错误,应该检查什么?
HTTP处理程序映射
最近有人把通配符映射器搞糊涂了。
500种types的错误(内部服务器错误)可能会发生,原因很多。
除其他外:
看看这个网站的几个例子。
基于我的最后一个类似的问题:
1)查看HTTP日志。 您将在HTTP日志中看到“sc-status sc-substatus sc-win32-status”中的“500 mmm nnn”。 从命令行的“net helpmsg nnn”可能会给你结果。
2)将失败的请求追踪添加到您的安装中,然后使用适当的规则。 XML结果可能有用,也可能没有帮助。
3)如果您认为这是一个安全问题,请在该服务器的策略中启用文件对象审计,然后将目录及其中的文件的审计设置为“所有人”都失败。 检查事件查看器的安全部分。
4)尝试进程监视器(而不是进程资源pipe理器)。 运行进程监视器三秒左右,只要足够长的时间来获取请求,并使其失败。 使用失败的请求跟踪来获取失败的进程ID。 使用进程监视器的filter仅显示进程ID出现的事件 – 然后您可以看到它失败的位置。
事件查看器应该为您提供获取500错误的原因,通常会提供有关exception或configuration问题的更多详细信息。
另一个快速的事情,取决于你正在使用的浏览器,确保你有“启用友好的错误信息”取消选中高级选项(对于IE)。 这可以掩盖来自服务器的错误。
只是为了增加这个可能的解决scheme,有一个客户正在使用ISAPIfilter,但是在指定的位置没有isapifilter。 没有事件日志,sc-winsubstatus的值为2(无法find文件..)所以检查ISAPI筛选器。