刚才我突然想到我在某个地方看到一个提示:开启cdn后可能会无法获取用户真实ip,于是我进到了网站后台一看,我的ip竟然显示是南非的,这样非常影响我的统计
先来讲讲cdn的工作原理:
简单四个字概括就是"就近原则",什么意思呢,你可以去ping下本站域名,你会发现ip栏里面不止一个ip,也就是说,系统会匹配离你最近的cdn服务器打开,如果离你最近的服务器打不开就会回源(回到源服务器),所以,不同的人访问的是不同的服务器,就会造成ip的错误,那么怎么解决呢
如果你是wordpress,就在主机根目录找到wp-config.php文件,在里面添加如下代码
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
如果你是typecho,就在根目录找到config.inc.php,在最后添加如下代码
/** 防止CDN造成无法获取客户真实IP地址 */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
然后清除cdn缓存即可
2 条评论
滴!学生卡!打卡时间:上午12:49:11,请上车的乘客系好安全带~
滴!学生卡!打卡时间:下午12:58:58,请上车的乘客系好安全带~