我们有一台aws负载均衡器。负载均衡器使用TCP连接443加密数据。
由于负载均衡器加密客户端的IP,所以在我们的apache日志文件中,我们只能看到负载平衡器的IP,而不是客户机。即使我们在日志格式中使用了%{X转发-For}i。
有没有办法处理这个问题?
发布于 2012-10-17 09:48:16
是的,ELB支持解密SSL请求.并将一个普通的http请求发送回您的Apache后端服务器。
ELB将同时添加X-Forwarded-For和X-Forwarded-Proto头,这样您就可以区分SSL请求和普通http请求之间的区别。非SSL请求可能只具有X-Forwarded-For头,或者可能将X-Forwarded-Proto头设置为http。
如果您的Apache正在接收端口443上的请求,则ELB不能注入任何报头,并且您的日志将只包含负载均衡器本身的IP地址。您必须在ELB中执行SSL终止操作才能获得X-Forwarded-For头。
有一个这里有不错的教程。还有一个特地回答这里的塞特。
发布于 2012-10-17 05:40:26
阿帕奇需要国防部_rpaf。它将把X转发-为包装的IP代替IP的负载平衡器.
https://serverfault.com/questions/439204
复制相似问题