為什麼 Envoy 會發送內部回應?

要了解 Envoy 為何發送特定的本地回應,最簡單的方法之一是開啟追蹤記錄。 如果您可以使用 “-l trace” 執行您的實例,雖然會顯著降低 Envoy 的速度,但您可以獲得每個串流和連線生命週期中各種事件的詳細資訊。 每當 Envoy 發送內部產生的回應時,它將會以 _debug_ 級別記錄「發送具有詳細資訊 [獨特原因] 的本地回覆」,這會為您提供有關為何發送本地回應的資訊。每個個別的回應詳細資訊都會在程式碼庫中的某個點使用,無論是編碼解碼器驗證檢查還是路由比對失敗。

如果開啟除錯記錄不可行,則可以使用 _%RESPONSE_CODE_DETAILS%_ 將回應詳細資訊新增至存取記錄中,同樣地,它會讓您精確找出產生特定回應的原因。有關回應碼詳細資訊的文件可以在此處找到