人生苦短
一起搞机
justhost
aws
dotdot
recloud
spinservers

网站使用CDN加速后,怎么查看用户访问的真实IP?

racknerd

很多站长都会遇到这样的问题,网站使用CDN加速后,统计分析工具提供的用户访问IP地址大多非真实IP地址。

这是因为使用CDN网络加速后,所有的用户请求都会通过CDN边缘节点访问,如边缘节点没有缓存,就会向客户源站服务器发起请求,故无法依照之前的方式获取最终用户IP地址。

cdn网络加速作用

如果站长需要获取最终用户IP,则可根据网站编写的脚本语言自行选择下列代码。

PHP:

$user_IP ($_SERVER["HTTP_X_REAL_IP"]);

ASP:

<% Request.ServerVariables("HTTP_X-Real-IP") %>

Java:

String srcIp request.getHeader("X-Real-IP");

C#:

String srcIp Request.Headers["X-Real-IP"]; 

Asp.net:

如果用ServerVariables来获取参数,因为ServerVariables有编码解码的过程,因此应该用HTTP_Cdn_Src_Ip来获取变量,如:

result HttpContext.Current.Request.ServerVariables["HTTP_X-Real-IP"];

另外,老刘测评提醒各位站长,我们需要注意的是以上代码需要在切换后才能正式生效,如未切换则可能导致获取IP错误。当然需要采购cdn加速的站长们也可参见老刘测评前文《CDN国内/国际加速流量包0.06元/GB起,续费享长期5折》。

未经允许不得转载:老刘测评 » 网站使用CDN加速后,怎么查看用户访问的真实IP?