在nginx日志里,請求來源的信息可以通過多種變量獲取,主要涵蓋以下幾個方面:
- 客戶端IP地址:使用$remote_addr記錄發起請求的客戶端IP地址。
- 客戶端用戶名:若已啟用認證,可通過$remote_user獲取經http基本認證的用戶名。
- 請求的URL與HTTP協議:$request變量用于記錄請求的URL及所用的HTTP方法(例如GET, POST, delete等)。
- 響應狀態:$status顯示HTTP響應的狀態碼。
- 發送至客戶端的數據量:$body_bytes_sent記錄響應體實際發送到客戶端的數據量,不包含響應頭大小。
- 總發送數據量:$bytes_sent表示響應體和響應頭全部發送給客戶端的數據總量。
- 連接序列號:$connection標識客戶端與服務器間建立連接的具體編號。
- 當前連接上的請求數:$connection_requests統計通過同一連接發出的請求數目。
- 日志記錄時間:$msec以毫秒為單位記錄日志生成的時間點。
- HTTP流水線狀態:若請求采用HTTP流水線方式,則$pipe顯示為“p”,否則為“.”。
- HTTP引用頁:$http_referer反映是從哪個頁面跳轉而來的。
- 客戶端瀏覽器信息:$http_user_agent捕捉客戶端瀏覽器的相關詳情。
- X-forwarded-For頭信息:$http_x_forwarded_for檢查是否存在反向代理并記錄初始客戶端IP地址(前提是設置了反向代理)。
- 自定義請求頭:借助log_format定義自定義變量,可捕獲任何特定請求頭字段,如$http_myheader。
借助上述變量,能夠深入剖析請求來源的各種細節,比如地理位置、設備型號、訪問時段、訪問頻次等,有助于開展安全威脅評估以及網絡流量監控工作。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END