【记录】Apache使用CDN、反代后如何获取客户端真实IP?
网站不可避免地会使用CDN、反代等技术,本文主要说明在Apache下如何获取客户端真实IP。
环境
操作系统:Ubuntu
Web服务器:Apache
步骤
1、httpd-remoteip.conf
创建并编辑以下内容,路径可按照规范来或者自己喜好。
RemoteIPHeader X-Forwarded-For
2、mod_remoteip模块
在apache配置文件内搜索remoteip,找到#LoadModule remoteip_module modules/mod_remoteip.so
删除注释“#”,并在下一行追加一条定义,如下所示。
LoadModule remoteip_module modules/mod_remoteip.so
Include /etc/apache2/httpd-remoteip.conf
mod_remoteip模块参数说明
RemoteIPHeader X-Real-IP 或 RemoteIPHeader X-Forwarded-For
这个配置设置从代理服务器接收的 IP 地址信息所在的头部。在这里,X-Real-IP 被指定为要查找的头部。这告诉 Apache 使用 X-Real-IP 头部中的 IP 地址信息作为客户端的真实 IP 地址。