如何在 apache 中打印 x-forwared-for 值?

如何在 apache 中打印 x-forwared-for 值?

我们有一个 aws 负载均衡器。负载均衡器使用 TCP 连接 443 来加密数据。

由于负载均衡器加密了客户端的 IP,因此在我们的 apache 日志文件中,我们只能看到负载均衡器的 IP,而看不到客户端的 IP。尽管我们在日志格式中使用了 %{X-Forwarded-For}i。

有什么办法可以解决这个问题吗?

答案1

是的,ELB 支持解密 SSL 请求并将普通的 http 请求发送回您的 Apache 后端服务器。

ELB 将添加X-Forwarded-ForX-Forwarded-Proto标头,以便您区分 SSL 请求和纯 http 请求。非 SSL 请求可能只有标X-Forwarded-For头,也可能将X-Forwarded-Proto标头设置为http

如果您的 Apache 在端口 443 上接收请求,ELB 就无法注入任何标头,并且您的日志将只包含负载均衡器本身的 IP 地址。您必须在 ELB 中执行 SSL 终止才能获取标头X-Forwarded-For

有一个这里有不错的教程. 还有一个此处专门针对 Thawte 进行回答

答案2

你需要mod_rpaf对于 Apache 来说,它将用 X-FORWARDED-FOR 打包的 IP 代替负载均衡器的 IP。

相关内容