对于IIS 7.5中的HTTP请求状态代码,TRIGGER_STATUS和FINAL_STATUS有什么区别?

我正在查看运行IIS 7.5的服务器,该服务器正在为一些请求抛出通用HTTP 500,没有进一步的错误报告或任何地方的substatus代码。 所以我启用了失败的请求跟踪,失败请求的跟踪报告显示TRIGGER_STATUS为500,FINAL_STATUS为200.任何人都可以解释TRIGGER_STATUS和FINAL_STATUS之间的区别是什么以及它们为什么不相同?

触发状态是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 

参考: FREB:LOG_FILE_MAX_SIZE_TRUNCATE