如果您的业务通过网站方式接入 DDoS 高防实例,则访问请求经过 DDoS 高防转发到源站,源站会默认将 DDoS 高防的回源 IP 视为请求来源,而真实的请求来源 IP 被记录在 HTTP 头部的X-Forwarded-For
字段中。本文介绍如何获取真实的请求来源 IP。
在使用代理服务器的请求中,X-Forwarded-For
字段记录了真实请求来源 IP 和所有经过的代理服务器 IP。
X-Forwarded-For
字段记录真实的请求来源 IP 和高防代理 IP。格式为X-Forwarded-For: 真实请求来源 IP, 高防代理 IP
。X-Forwarded-For
字段记录真实的请求来源 IP 和所有经过的代理服务器 IP。格式为X-Forwarded-For: 真实请求来源 IP, 代理服务器 1 的 IP, 代理服务器 2 的 IP, ...
。因此,常见的网站业务服务器都可以通过X-Forwarded-For
字段的内容获取真实的请求来源IP。
下文介绍不同编程语言对应的X-Forwarded-For
字段获取方式。
执行以下代码查询X-Forwarded-For
。
Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
request.getHeader("HTTP_X_FORWARDED_FOR")
$_SERVER["HTTP_X_FORWARDED_FOR"]
X-Forwarded-For
字段的内容后,找到第一个 IP 地址,即为真实的请求来源 IP。X-Forwarded-For: 192.1.0.0, 172.1.0.0, 172.1.0.2
中,192.1.0.0
即为真实请求来源 IP。