Nginx記錄請求頭/響應頭到訪問日誌
阿新 • • 發佈:2022-04-18
記錄請求頭資訊
比如下請求頭部分資訊: accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 accept-encoding: gzip, deflate, br accept-language: zh-CN,zh;q=0.9 cache-control: no-cache user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36 在Nginx的access_log中記錄ua資訊,如下: "user_agent": "$http_user_agent", tips: 1. 獲取請求頭在欄位前新增 $http_欄位名 2. 欄位名使用下劃線分隔即使在頁面展示的請求頭是中劃線, 比如: user-agent --> user_agent
記錄響應頭資訊
網上搜索記錄響應頭的文章千篇一律全是寫lua實現,我覺得侵入太大,於是在官方文件上找到了這種方式。
比如下響應頭部分資訊: accept-ranges: bytes access-control-allow-origin: * cache-control: max-age=10368000 content-length: 122996 content-type: image/webp date: Mon, 18 Apr 2022 02:36:34 GMT last-modified: Thu, 23 Dec 2021 06:22:26 GMT server: Lego Server timing-allow-origin: * x-cache-lookup: Cache Hit x-nws-log-uuid: 6197134411751577255 在Nginx的access_log中記錄content-type資訊,如下: "content_type": "$sent_http_content_type", "content_length": "$sent_http_content_length", tips: 1. 獲取請求頭在欄位前新增 $sent_http_欄位名 2. 欄位名使用下劃線分隔即使在頁面展示的請求頭是中劃線, 比如: content-type --> content_type