高频类 七层服务 针对七层服务(HTTP/HTTPS协议),需要对应用服务器进行配置,然后使用XForwardedFor的方式获取来访者的真实IP地址。 真实的来访者IP会被负载均衡放在HTTP头部的XForwardedFor字段,格式如下: plaintext XForwardedFor: 来访者真实IP, 代理服务器1IP, 代理服务器2IP, ... 当使用此方式获取来访者真实IP时,获取的第一个地址就是来访者真实IP。 配置Apache服务器 1. 安装Apache 2.4。 例如在CentOS 7.5环境下,可以执行如下命令执行安装: plaintext yum install httpd 2. 修改Apache的配置文件/etc/httpd/conf/httpd.conf,在最末尾添加以下配置信息。 plaintext LoadModule remoteipmodule modules/modremoteip.so RemoteIPHeader XForwardedFor RemoteIPInternalProxy 100.125.0.0/16 图修改Apache的配置文件示例图 说明 将代理服务器的网段添加到 RemoteIPInternalProxy 。 共享型负载均衡需要添加的IP地址段为100.125.0.0/16(100.125.0.0/16 是负载均衡服务保留地址,其他用户无法分配到该网段内,不会存在安全风险)和高防IP地址段。多个IP地址段用逗号分隔。 独享型负载均衡需要添加ELB实例关联的VPC子网网段。 3. 修改Apache的配置文件/etc/httpd/conf/httpd.conf,将日志输出格式修改为如下所示(%a代表源IP地址): plaintext LogFormat "%a %l %u %t "%r" %>s %b "%{Referer}i" "%{UserAgent}i"" combined 4. 重启Apache。 plaintext systemctl restart httpd 5. 查看httpd的访问日志,您可以获取真实的来访者IP。