【发布时间】:2020-11-10 18:41:52
【问题描述】:
这是我的日志配置:
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 中获得它? 我试过的是Get correct IP,但它对我没有用,或者我做错了。
更新
我做错了。我需要传递我在虚拟主机中设置的变量,如获取正确的 IP 帖子中所述,在 LogFormat 中而不是“%{X-Forwarded-For}i”中。
【问题讨论】:
-
你试过 logformat 中的 mod_remoteip 和 %a 吗?
-
嗨@ezra-s,实际上我已经能够解决这个问题。我忘了更新帖子。谢谢
标签: apache logging centos httpd.conf