在Nginx日志中,請求來源可以通過多個變量來標識,主要包括以下幾類:
$remote_addr
記錄發起請求的客戶端IP地址。$remote_user
記錄通過HTTP基本認證的用戶名稱(如果配置了認證)。$request
記錄請求的URL和使用的HTTP方法(如GET, POST, DELETE等)。$status
記錄HTTP響應狀態碼。$body_bytes_sent
記錄響應主體發送給客戶端的字節數,不包括響應頭的大小。$bytes_sent
記錄響應主體和響應頭發送給客戶端的總字節數。$connection
記錄客戶端與服務器建立的連接的序列號。$connection_requests
記錄通過當前連接發出的請求數量。$msec
記錄日志寫入時間,單位為毫秒。$pipe
如果請求是通過HTTP流水線(pipelined)發送,此值為“p”,否則為“.”。$http_referer
記錄從哪個頁面鏈接訪問過來的。$http_user_agent
記錄客戶端瀏覽器的相關信息。$http_x_forwarded_for
記錄請求是否經過反向代理,并記錄原始客戶端IP地址(如果配置了反向代理)。log_format
中定義自定義變量,可以記錄任何自定義的請求頭信息,如$http_myheader
。通過這些變量,可以對請求來源進行詳細的分析,包括地理位置、瀏覽器類型、訪問時間、訪問頻率等,從而幫助進行安全風險評估和流量分析。