捕獲請求響應體

功能說明

在排查問題的時候需要檢視請求響應體的內容,這時候可以將請求響應體的輸出到訪問日誌。

這個動作將請求響應體記錄在 response_body 的 Nginx 變數中,供訪問日誌使用。

  • 最大響應體大小:最大捕獲的響應體大小,從響應的第一個位元組開始捕獲,捕獲結果儲存在 response_body 變數中。單位:位元組。

注意: 因為捕獲請求體不僅會引入不必要的 CPU 開銷,而且會額外消耗大量的記憶體,同時還產生大量的磁碟寫入事件。所以,開啟該功能會影響閘道器的整體效能和請求的響應速度,對使用者體驗是有直接的影響。因此,開啟該功能時應該準確過濾需要目標請求而不要匹配所有請求,在不使用該功能的時候請關閉捕獲請求體的動作

示例

首先在 全域性配置 - 通用 - 日誌 - 訪問日誌格式 中新增一個新的日誌格式。我們將新的格式命名為 req-resp-body。

$request_time $remote_addr $http_host "$request-body" "$response-body"

接著在 應用 - "具體應用" - 設定 - 訪問日誌 中選擇新新增的訪問日誌格式。

最後我們新增捕獲動作,設定最大捕獲響應體的體大小為 4096 位元組。

至此,所有配置已經完成,讓我們釋出配置到線上。