簡體   English   中英

在 apache 中獲取客戶端 ip

[英]Getting client ip in apache

這是我的日志記錄配置:

LogFormat "{\
\"time\":%{sec}t,\
\"clientip\":\"%{CLIENTIP}e\",\
\"status\":%>s,\
\"request_method\":\"%m\",\
\"jsessionid\":\"%{JSESSIONID}C\",\
\"uniqueid\":\"%{X-Unique-Id}i\",\
\"request_processing_time\":%D,\
\"sent_bytes\":%B,\
\"request_uri_query\":\"%q\",\
\"referer\":\"%{Referer}i\",\
\"request_uri_path\":\"%U\",\
\"virtual_host\":\"%{Host}i\",\
\"user_agent\":\"%{User-agent}i\",\
\"request_http_version\":\"%H\",\
\"node\":\"%{HOSTNAME}e\",\
\"x-forwarded-for\": \"%{X-Forwarded-For}i\"\
}" my_logs_json

我只需要從 x-forwarded-for 獲取最左邊的 ip 地址。 有沒有辦法在 apache 中獲得它? 我嘗試的是獲取正確的 IP但它對我沒有用,或者我做錯了。

更新

我一直做錯了。 我需要傳遞我在虛擬主機中設置的變量,如獲取正確的 IP 帖子中所述,在 LogFormat 中而不是“%{X-Forwarded-For}i”中。

我沒有傳遞我在虛擬主機中設置的變量的名稱,而是按原樣保留“%{X-Forwarded-For}i”。 添加了變量名而不是這個,它解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM