OpenResty Edge 的訪問日誌變數
HTTP 變數
args
: 請求行中的引數。realip_remote_addr
: 原始客戶端地址。realip_remote_port
: 原始客戶端埠。binary_remote_addr
: 以二進位制形式表示的客戶端地址,值的長度對於 IPv4 地址始終為 4 位元組,對於 IPv6 地址始終為 16 位元組。body_bytes_sent
: 傳送到客戶端的位元組數,不包括響應頭。bytes_sent
: 傳送給客戶端的位元組數。total_bytes
: 請求體和響應體的位元組數之和。connection
: 連線序列號。connection_requests
: 透過當前連線傳送的請求數。connections_active
: 當前活動的客戶端連線數,包括“等待”連線。connections_reading
: 正在讀取請求頭的連線數。connections_waiting
: 正在等待請求的空閒客戶端連線數。connections_writing
: 正在將響應寫回客戶端的連線數。content_length
: 請求頭欄位Content-Length
的值。content_type
: 請求頭欄位Content-Type
的值。date_gmt
: 當前的 GMT 時間。date_local
: 當前的本地時間。document_uri
: 和$uri
相同。gzip_ratio
: 壓縮比,即壓縮後的大小佔原始大小的比例。host
: 請求行中的主機名或請求頭Host
欄位中的主機名。hostname
: 主機名。http2
: 透過瀏覽器和伺服器之間協商的應用層協議版本識別符號:TLS 上的 HTTP/2 識別符號為h2
,未加密的 TCP 上的 HTTP/2 識別符號為h2c
,否則為空字串。https
: 當連線以 SSL 模式執行時,值為on
,否則為空字串。invalid_referer
: 如果條件滿足,即Referer
請求頭欄位的值合法,則為空字串,否則為1
。is_args
: 如果請求行有引數,則為?
,否則為空字串。msec
: 當前毫秒精度下的秒數表示的時間。pid
: 工作程序的 PID。pipe
: 請求是否透過管道傳輸,若是則為p
,否則為.
。proxy_add_x_forwarded_for
: 包含$remote_addr
變數並以逗號分隔附加到X-Forwarded-For
客戶端請求頭欄位中。如果客戶端請求頭中不存在X-Forwarded-For
欄位,則$proxy_add_x_forwarded_for
變數等於變數$remote_addr
。proxy_host
: 代理伺服器的名稱和埠號。proxy_port
: 代理伺服器的埠號。query_string
: 與$args
相同。remote_addr
: 客戶端地址。remote_port
: 客戶端埠號。remote_user
: Basic 認證的使用者名稱。request
: 完整的原始請求行。request_body
: 請求體。request_body_file
: 帶有請求訊息正文的臨時檔名稱。request_completion
: 如果請求已完成,則為OK
,否則為空字串。request_id
: 以十六進位制表示的由 16 位元組隨機數生成的唯一請求識別符號。request_length
: 請求的長度(包括請求行、頭部和正文)。request_method
: 請求方法,通常為GET
或POST
。request_time
: 請求處理時間,以秒為單位,毫秒精度;自從讀取客戶端的第一個位元組以來經過的時間。request_uri
: 完整的原始請求 URI(包括引數)。req_id
: 唯一的請求識別符號。scheme
: 請求協議名稱,http
或https
。server_addr
: 接受請求的伺服器地址。server_name
: 接受請求的伺服器名稱。server_port
: 接受請求的伺服器埠號。server_protocol
: 請求協議,通常為HTTP/1.0
、HTTP/1.1
、HTTP/2.0
或HTTP/3.0
。spdy
: SPDY 連線的協議版本,否則為空字串。spdy_request_priority
: SPDY 連線上的請求優先順序,否則為空字串。ssl_cipher
: 返回已建立 SSL 連線所使用的密碼名稱。ssl_ciphers
: 返回客戶端支援的密碼列表。已知密碼按名稱列出,未知密碼顯示為十六進位制,例如:AES128-SHA:AES256-SHA:0x00ff
。ssl_client_cert
: 返回已建立 SSL 連線的客戶端證書的 PEM 格式,每行除第一行外都以製表符開頭。ssl_client_fingerprint
: 返回已建立 SSL 連線的客戶端證書的 SHA1 指紋。ssl_client_escaped_cert
: 返回已建立 SSL 連線的客戶端證書的 PEM 格式(經過 URL 編碼)。ssl_client_i_dn
: 返回已建立 SSL 連線的客戶端證書的issuer DN
,根據 RFC 2253 規定。ssl_client_i_dn_legacy
: 返回已建立 SSL 連線的客戶端證書的issuer DN
。ssl_client_raw_cert
: 返回已建立 SSL 連線的客戶端證書的 PEM 格式。ssl_client_s_dn
: 返回已建立 SSL 連線的客戶端證書的主題 DN 字串,根據 RFC 2253 規定。ssl_client_s_dn_legacy
: 返回已建立 SSL 連線的客戶端證書的subject DN DN
。ssl_client_serial
: 返回已建立 SSL 連線的客戶端證書的序列號。ssl_client_v_end
: 返回客戶端證書的結束日期。ssl_client_v_remain
: 返回客戶端證書到期剩餘天數。ssl_client_v_start
: 返回客戶端證書的開始日期。ssl_client_verify
: 返回客戶端證書驗證結果:SUCCESS
表示驗證成功,FAILED:reason
表示驗證失敗並給出原因,如果沒有證書則返回NONE
。ssl_curves
: 返回客戶端支援的曲線列表。已知曲線按名稱列出,未知曲線顯示為十六進位制,例如:0x001d:prime256v1:secp521r1:secp384r1
。ssl_early_data
: 如果使用 TLS 1.3 的 early data,並且握手未完成,則返回1
;否則為空字串。ssl_preread_alpn_protocols
: 透過 ALPN 廣告的客戶端協議列表。值由逗號分隔。ssl_preread_protocol
: 客戶端支援的最高 SSL 協議版本。ssl_preread_server_name
: 透過 SNI 請求的伺服器名稱。ssl_protocol
: 返回已建立 SSL 連線的協議。ssl_server_name
: 返回透過 SNI 請求的伺服器名稱。ssl_session_id
: 返回已建立 SSL 連線的會話識別符號。ssl_session_reused
: 返回r
表示 SSL 會話已重用,否則為.
。status
: 響應狀態碼。tcpinfo_rcv_space/tcpinfo_rtt/tcpinfo_rttvar/tcpinfo_snd_cwnd
: 關於客戶端 TCP 連線的資訊;僅在支援 TCP_INFO 套接字選項的系統上可用。time_iso8601
: 當地時間,ISO 8601 標準格式。time_local
: 當地時間,通用日誌格式(Common Log)。time_local_msec
: 當地時間,毫秒精度在通用日誌格式中。upstream_addr
: 上游伺服器的 IP 地址和埠,或 UNIX 域套接字的路徑。如果在請求處理期間聯絡了多個伺服器,則它們的地址以逗號分隔,例如192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock
。upstream_bytes_received
: 接收自上游伺服器的位元組數。來自多個連線的值由逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_bytes_sent
: 傳送到上游伺服器的位元組數。來自多個連線的值由逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_cache_status
: 訪問響應快取的狀態。狀態可以是MISS
、BYPASS
、EXPIRED
、STALE
、UPDATING
、REVALIDATED
或HIT
。upstream_connect_time
: 與上游伺服器建立連線所花費的時間;時間以毫秒為精度,以秒為單位。對於 SSL,包括握手時間。多個連線的時間以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_first_byte_time
: 接收資料第一個位元組所需的時間;時間以毫秒為精度,以秒為單位。多個連線的時間以逗號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_header_time
: 從上游伺服器接收響應頭所花費的時間;時間以毫秒為精度,以秒為單位。多個響應的時間以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_queue_time
: 請求在上游佇列中花費的時間;時間以毫秒為精度,以秒為單位。多個響應的時間以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_response_length
: 從上游伺服器獲取的響應長度;長度以位元組為單位。多個響應的長度以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。 。upstream_response_time
: 從上游伺服器接收響應所花費的時間;時間以毫秒為精度,以秒為單位。多個響應的時間以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_session_time
: 以毫秒為精度的會話持續時間,以秒為單位。多個連線的時間以逗號分隔,就像在$upstream_addr
變數中的地址一樣。upstream_status
: 從上游伺服器獲取的響應狀態碼。多個響應的狀態碼以逗號和冒號分隔,就像在$upstream_addr
變數中的地址一樣。如果無法選擇伺服器,則該變數為502(Bad Gateway)
狀態碼。uri
: 規範化後的當前請求 URI。在請求處理過程中,$uri
的值可能會更改,例如當進行內部重定向或使用索引檔案時。app_id
: OpenResty Edge 的 HTTP 應用 ID。internal_request
: 是否是內部請求。limit_action
: 限制動作,如block
。response_body
: 響應體。proxy_protocol_addr
: PROXY 協議頭中的客戶端地址。proxy_protocol_port
: PROXY 協議頭中的客戶端埠。client_isp
: 客戶端網際網路服務提供商(Internet Service Provider)。這表示訪問者使用的網路服務提供商,如 Comcast、Verizon、中國電信等。該變數在 v24.9.1 版本中首次引入。client_asn
: 客戶端自治系統編號(Autonomous System Number)。這是一個用於標識網際網路上的路由域的唯一識別符號。每個 ISP 或大型網路通常都有自己的 ASN。該變數在 v24.9.1 版本中首次引入。client_country
: 客戶端所在國家。這表示訪問者的 IP 地址所對應的國家,如中國、美國、日本等。該變數在 v24.9.1 版本中首次引入。client_continent
: 客戶端所在大洲。這表示訪問者的 IP 地址所對應的大洲,如亞洲、北美洲、歐洲等。該變數在 v24.9.1 版本中首次引入。client_province
: 客戶端所在省份或州。這表示訪問者的 IP 地址所對應的省份(在中國)或州(在美國等國家),如廣東省、加利福尼亞州等。該變數在 v24.9.1 版本中首次引入。client_city
: 客戶端所在城市。這表示訪問者的 IP 地址所對應的城市,如北京、紐約、東京等。該變數在 v24.9.1 版本中首次引入。
HTTP 固定字首變數
arg_
: 請求行中的引數名稱。upstream_trailer_
: 從上游伺服器獲取的響應末尾的欄位。upstream_http_
: 伺服器響應頭欄位。例如,Server
響應頭欄位可透過$upstream_http_server
變數訪問。將頭欄位名稱轉換為變數名稱的規則與以$http_
字首開頭的變數相同。僅儲存最後一個伺服器響應的頭欄位。sent_http_
: 任意的響應頭欄位;變數名稱的最後一部分是欄位名稱,轉換為小寫並用下劃線代替破折號。sent_trailer_
: 傳送到響應末尾的任意欄位;變數名稱的最後一部分是欄位名稱,轉換為小寫並用下劃線代替破折號。cookie_
: cookie 的名稱。http_
: 任意的請求頭欄位;變數名稱的最後一部分是欄位名稱,轉換為小寫並用下劃線代替破折號。upstream_cookie_
: 上游伺服器在Set-Cookie
響應頭欄位中傳送的具有指定名稱的 cookie。僅儲存最後一個伺服器響應中的 cookie。or-global-
: OpenResty Edge 的全域性變數。
Stream 變數
binary_remote_addr
: 以二進位制形式表示的客戶端地址,IPv4 地址的值長度始終為 4 位元組,IPv6 地址的值長度為 16 位元組。bytes_sent
: 傳送給客戶端的位元組數。connection
: 連線序列號。hostname
: 主機名。msec
: 當前時間(以秒為單位,毫秒為精度)。pid
: 工作程序的 PID。proxy_protocol_addr
: 來自 PROXY 協議頭的客戶端地址。proxy_protocol_port
: 來自 PROXY 協議頭的客戶端埠。proxy_protocol_server_addr
: 來自 PROXY 協議頭的伺服器地址。proxy_protocol_server_port
: 來自 PROXY 協議頭的伺服器埠。remote_addr
: 客戶端地址。remote_port
: 客戶端埠。server_addr
: 接受連線的伺服器地址。server_port
: 接受連線的伺服器埠。ssl_cipher
: 返回用於建立 SSL 連線的加密演算法名稱。ssl_ciphers
: 返回客戶端支援的密碼列表。已知的密碼按名稱列出,未知的密碼以十六進位制表示,例如:AES128-SHA:AES256-SHA:0x00ff
。ssl_client_cert
: 返回已建立的 SSL 連線中客戶端證書的 PEM 格式。除第一行外,每行字首為製表符。ssl_client_fingerprint
: 返回已建立的 SSL 連線中客戶端證書的 SHA1 指紋。ssl_client_i_dn
: 返回已建立的 SSL 連線中客戶端證書的issuer DN
,格式符合 RFC 2253。ssl_client_raw_cert
: 返回已建立的 SSL 連線中客戶端證書的 PEM 格式。ssl_client_s_dn
: 返回已建立的 SSL 連線中客戶端證書的subject DN
,格式符合 RFC 2253。ssl_client_serial
: 返回已建立的 SSL 連線中客戶端證書的序列號。ssl_client_v_end
: 返回客戶端證書的到期日期。ssl_client_v_remain
: 返回到客戶端證書過期的天數。ssl_client_v_start
: 返回客戶端證書的起始日期。ssl_client_verify
: 返回客戶端證書驗證的結果:SUCCESS
、FAILED:reason
和如果證書不存在則為NONE
。ssl_curves
: 返回客戶端支援的曲線列表。已知的曲線按名稱列出,未知的曲線以十六進位制表示,例如:0x001d:prime256v1:secp521r1:secp384r1
。ssl_protocol
: 返回已建立的 SSL 連線的協議。ssl_server_name
: 返回透過 SNI 請求的伺服器名稱。ssl_session_id
: 返回已建立的 SSL 連線的會話 ID。ssl_session_reused
: 如果 SSL 會話被重新使用,則返回r
;否則返回.
。time_iso8601
: 本地時間,在 ISO 8601 標準格式下顯示。time_local
: 本地時間,在通用日誌格式格式下顯示。time_local_msec
: 毫秒精度的本地時間,在通用日誌格式下顯示。upstream_addr
: 上游伺服器的 IP 地址和埠號,或 UNIX 域套接字的路徑。如果在請求處理期間與多個伺服器聯絡,則它們的地址用逗號分隔,例如192.168.1.1:80, 192.168.1.2:80, unix:/tmp/sock
。upstream_bytes_received
: 從上游伺服器接收的位元組數。幾個連線的值用逗號和冒號分隔,就像$upstream_addr
變數中的地址一樣。upstream_bytes_sent
: 傳送到上游伺服器的位元組數。幾個連線的值用逗號和冒號分隔,就像$upstream_addr
變數中的地址一樣。upstream_connect_time
: 與上游伺服器建立連線所花費的時間;時間用秒錶示,毫秒為精度。在 SSL 的情況下,包括用於握手的時間。幾次連線的時間以逗號和冒號分隔,就像$upstream_addr
變數中的地址一樣。
Socks5 變數
time
: 請求開始的本地時間。request_time
: 請求開始的時間。up_bytes
: 請求的位元組數。down_bytes
: 響應的位元組數。proxy_port
: 代理伺服器的埠。client_addr
: 客戶端地址。username
: 使用者名稱。upstream_host
: 上游主機名。upstream_port
: 上游埠。status
: 狀態碼。bandwidth
: 頻寬規則名稱。failure
: 失敗原因
HTTP 正向代理變數
time
:請求開始的本地時間。up_bytes
:請求的位元組數。down_bytes
:響應的位元組數。proxy_port
:代理伺服器埠。client_addr
:客戶端地址。upstream_host
:上游地址。upstream_port
:上游埠。method
:請求方法。status
:請求狀態碼。failure
:失敗原因。account_key
:賬號關鍵字。account
:賬號。pa_
:代理鑑權的資訊。header_
:請求頭部資訊,如 header_host。arg_
:URI 引數資訊,如 arg_name。decoded_proxy_authorization
:解碼後的代理鑑權資訊。