Apache 访问日志显示本地 IP 而不是公共 IP

Posted

技术标签:

【中文标题】Apache 访问日志显示本地 IP 而不是公共 IP【英文标题】:Apache Access Log shows Local-IP instead of public IP 【发布时间】:2021-04-18 13:44:57 【问题描述】:

谈到 Apache,我还是个新手。我使用 nginx 的时间最长。但是我想知道:当我查看 Apache 访问日志时,它只显示本地 IP 地址 (127.0.0.1)。

127.0.0.1 - - [13/Jan/2021:15:10:27 +0100] "GET / HTTP/1.1" 302 - "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (Khtml, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1"

有时,我确实会从大型电信网络获得公共 IP 地址。然而,当我从 *** 或其他网络访问自己的网站时,我仍然没有收到公共 IP 地址。

我希望这是访问者的公共 IP 地址,以便在受到攻击时阻止该 IP。我正在使用启用了代理的 Cloudflare,但我已经安装了 cloudflare_mod 但这并没有解决问题。我正在使用 CentOS7。

有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

您似乎在使用反向代理,它正在将远程 IP 换成自己的。您可以查看请求 HTTP 标头以查找哪个包含访问者 IP,然后配置 Apache 以在日志中使用它。

【讨论】:

以上是关于Apache 访问日志显示本地 IP 而不是公共 IP的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xampp 下使用 apache dns 服务器而不是 LAN 网络中的 ip 地址访问我的本地网站?

无法通过本地网络中的公共 IP 地址访问我的 XAMPP

如何访问本地网络服务器 [关闭]

Apache2.4.9本地访问正常但是在局域网或外网IP拒绝访问

统计Apache或Nginx访问日志里的独立IP访问数量的Shell

python统计apachenginx访问日志IP访问次数并且排序(显示前20条)