ELB架构下,在APACHE如何获取客户端IP

EC2的Apache日志文件里记录的客户端IP是ELB的IP地址

通过ELB访问EC2时Apache/Nginx的日志文件里记录的是ELB的IP地址,我们无法判断访问站点的客户端IP地址。在这里利用Amazon ELB的功能获取客户端的真实IP地址。

HTTP头信息 X-Forwarded-For

ELB和其他负载均衡器一样,把客户端的真实IP地址附加到HTTP头信息(X-Forwarded-For),在EC2获取X-Forwarded-For信息,并写入到日志文件。

使用X-Forwarded-For信息,可获取客户端信息的环境如下。

PC(浏览器) -> ELB(HTTP[S]) -> EC2(HTTP[S])

修改httpd.conf

LogFormat "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %{X-Forwarded-For}i %{X-Forwarded-Proto}i" combined

也可以通过以下设定去掉ELB -> EC2的HealthCheck访问记录。

LogFormat "%h %l %u %t %D \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %{X-Forwarded-For}i %{X-Forwarded-Proto}i" combined
 
SetEnvIf User-Agent "ELB-HealthChecker/1\.0" nolog

CustomLog "logs/access_log" combined env=!nolog

重启Apache,有效化httpd.conf配置内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ELB(Elastic Load Balancer)是亚马逊 Web Services(AWS)提供的一种负载均衡服务。它可以自动地将流量分发到多个EC2实例、容器、IP地址或Lambda函数等后端资源,以提高应用程序的可用性和扩展性。 ELB负载均衡器有三种类型:经典负载均衡器(Classic Load Balancer,CLB)、应用负载均衡器(Application Load Balancer,ALB)和网络负载均衡器(Network Load Balancer,NLB)。这些负载均衡器有着不同的特点和适用场景。 1. 经典负载均衡器(CLB):CLB是最早引入的负载均衡服务,可以在传输层(Layer 4)上分发流量。它支持基于TCP和SSL的负载均衡,适用于传统的应用程序架构。 2. 应用负载均衡器(ALB):ALB是在应用层(Layer 7)上进行流量分发的负载均衡器。它支持基于HTTP和HTTPS的负载均衡,并提供了更多高级功能,如请求路由、目标组、容器支持等。ALB适用于微服务架构、容器化应用和现代化的Web应用程序。 3. 网络负载均衡器(NLB):NLB是在传输层(Layer 4)上进行流量分发的负载均衡器,与CLB类似。它适用于对性能和高吞吐量有更高要求的应用程序,如游戏服务器、流媒体和大规模数据传输。 ELB负载均衡器具有以下特点和优势: - 高可用性:ELB将流量分发到多个后端实例,以确保应用程序的高可用性和容错能力。如果某个实例不可用,ELB会自动将流量转发到其他可用的实例。 - 自动扩展:ELB可以根据需要自动调整容量,根据负载情况增加或减少后端实例数量,以应对流量的变化。 - 健康检查:ELB会定期对后端实例进行健康检查,以确保只有正常运行的实例接收流量,并自动将请求转发到健康的实例。 - SSL终止:ELB可以处理SSL/TLS连接,并在负载均衡器和后端实例之间进行SSL终止,减轻了后端实例的计算压力。 - 高级功能:ALB提供了更多高级功能,如请求路由、目标组、容器支持等,使得应用程序更加灵活和可扩展。 ELB负载均衡器可以通过AWS管理控制台、命令行接口或API进行配置和管理。它可以与其他AWS服务集成,如Auto Scaling、Amazon ECS、Amazon EKS等,以构建高可用、可扩展的应用程序架构。 总之,ELB负载均衡器是一项重要的服务,可以帮助提高应用程序的可用性、性能和弹性。根据应用程序的需求和架构选择合适的ELB类型,并合理配置和管理负载均衡器,以实现最佳的负载均衡效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值