如何解决更改Apache来源IP的位置
是否可以更改Apache为access.log文件提供IP的位置?
现在,我正在获得Cloudflare的IP,因为我将它们用作代理来防止我的IP被泄露。唯一的问题是Apache返回访问者IP时,它是Cloudflare数据中心的IP。
是否可以使用PHP或Apache配置文件将其更改为用户的真实IP?
解决方法
除非您确切了解X-Forwarded-For的工作原理,如何对日志中的数据进行编码以及对日志使用的任何软件将如何解释结果数据,否则请不要使用X-Forwarded-For。
此标头可以不存在,并且可以是多值的。 The default behaviour(请注意,这不是批准的标准)是将连接IP地址附加到请求中提供给上游服务器的代理中的任何值。每个条目均以逗号分隔,然后以空格分隔-默认情况下,字段以Apache中可用的标准日志格式的空格分隔。因此Rich的建议将使大多数软件无法读取您的日志文件。
Cloudflare提供标头CF-Connecting-IP来指示连接到Cloudflare的地址-这是关于请求源的可信解析的限制(假设您信任Cloudflare)。如果您所有的流量都是通过Cloudflare来的,则PHP应该在$_SERVER['CF-Connecting-IP']
中看到该值,并且您应该将其作为%{CF-Connecting-IP}i
添加到Apache log format字符串中
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。