我想更改 AWS ELB 的日志格式,以便记录真实的用户 IP。
我当前的服务器设置包含多层代理,如下所示:
CloudFlare->AWS ELB->Nginx(EC2)
使用适当的 nginx 模块,我能够使用 X-Forwarded-For 标头在我的 EC2 实例日志中获取真实客户端 IP。但是,我无法找到配置 AWS ELB 以在 CloudFlare 设置的 X-Forwarded-For 中记录 IP 的方法。
我想自定义 AWS ELB 生成的日志条目以记录真实用户 IP,这样我将来就可以分析完整的日志,而不是从每个 EC2 实例收集日志。
有没有办法做到这一点?
答案1
我给 AWS 技术支持写了电子邮件,他们回复说 ELB 目前不支持这样的配置。
答案2
使用CloudFlare 设置的 CF-Connecting-IP 标头在你的 nginx real_ip 配置中。
例如:
real_ip_header CF-Connecting-IP;
ELB 似乎没有有任何选项都可以做到这一点。几乎肯定您必须自己汇总日志。