看来我的Amazon Elastic Load Balancer正在为EC2分配stream量,但没有IP地址?
这是通常的行为? 这是令人难以置信的烦人。 即ELB CName在我的域名DNS上,我打到域名,访问日志中有ELB的IP地址,而不是访问者。
如果您使用HTTP模式运行ELB,则会向发送给EC2实例的请求添加一些HTTP标头,其中包含将包含客户端IP地址的X-Forwarded-For
标头。
X-Forwarded-For: 203.0.113.7
请注意,如果其他负载平衡器或代理处理请求,则此标头可能包含多个IP。 在这种情况下,您想要提取列出的第一个IP。
X-Forwarded-For: 203.0.113.7, 10.12.33.44, 10.73.23.88
由于您的评论中的链接已损坏,因此以下是如何logging访问者的IP地址:
在httpd.conf中,创build一个新的日志格式:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-elb
然后使用它:
CustomLog logs/access_log combined-elb
就这么简单。