跳到主要内容

获取真实来源IP

当代理服务转发请求时,后端服务默认只能看到代理服务器的IP地址。所以代理服务(etps)会将真实的访问来源IP地址通过X-Forwarded-For头进行传递,仅支持HTTP协议。

请求头格式

X-Forwarded-For: <visitor-ip>, <proxy-1-ip>, <proxy-2-ip>
提示

访问请求可能会经过多级代理/负载均衡,所以按照惯例,第一个IP地址是最初的访问来源IP地址,后续的IP地址是经过的代理服务器的IP地址。

使用示例

内网真实后端服务可以通过读取 X-Forwarded-For 请求头获取真实访问来源IP:

String visitorIp = request.getHeader("X-Forwarded-For");