【问题标题】:Getting client ip in apache在apache中获取客户端IP
【发布时间】: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


【解决方案1】:

我没有传递我在虚拟主机中设置的变量的名称,而是将“%{X-Forwarded-For}i”保持原样。添加了变量名而不是这个,它解决了这个问题。

【讨论】:

    猜你喜欢
    • 2021-10-19
    • 2016-10-07
    • 2015-06-06
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多