为什么 Envoy 发送内部响应?

了解 Envoy 为什么发送特定本地响应的最简单方法之一是打开跟踪日志记录。如果你可以运行实例并添加 “-l trace”,你会显著降低 Envoy 的速度,但会获得有关每个流和连接生命周期中各种事件的详细信息。每次 Envoy 发送内部生成的响应时,它都会记录到 _debug_ 级别 “Sending local reply with details [unique reason]”,它会为你提供有关发送本地响应原因的信息。每个单独的响应详细信息都用于代码库中的某个点,无论是编解码器验证检查还是路由匹配失败。

如果打开调试日志记录不可行,则可以使用 _%RESPONSE_CODE_DETAILS%_ 将响应详细信息添加到访问日志,这将再次让你准确地找出生成特定响应的原因。有关响应代码详细信息的文档可以在 此处 找到。