我正在查看运行 IIS 7.5 的服务器,该服务器对某些请求抛出通用 HTTP 500,没有任何进一步的错误报告或子状态代码。因此,我启用了失败请求跟踪,失败请求的跟踪报告显示 TRIGGER_STATUS 为 500,FINAL_STATUS 为 200。有人能解释一下 TRIGGER_STATUS 和 FINAL_STATUS 之间的区别是什么,以及为什么它们不相同吗?
答案1
触发状态是 FREB 规则触发的状态,最终状态是客户端获得的 HTTP 状态以及您在访问日志中看到的状态。
在跟踪请求负载相当大的请求时,我在 FREB 中遇到了这种状态代码组合。我通过将 FREB 的默认日志大小设置增加到 1024kB(默认值为 512kB)解决了这个问题。
在 cmd.exe 提示符中运行此命令:
cd /d "%windir%\system32\inetsrv"
appcmd set config /section:sites -siteDefaults.traceFailedRequestsLogging.maxLogFileSizeKB:1024
您可以使用以下方法将此设置重置为默认值:
appcmd set config /section:sites -siteDefaults.traceFailedRequestsLogging.maxLogFileSizeKB:512