我在2月份写了两篇有关CDN配置的文章,之后也给自己的博客用上了。

为响应国家号召,我启用了评论区显示ip地址;不过我在前段时间发现了一个问题,朋友们的评论ip地址怎么都是一个地区?多少有点纳闷,我自己也测试发个评论,发现ip地址竟然都一样属于江苏??
ip01.webp

突然想到之前给网站配了CDN,这才导致网站无法获取设备的真实IP,而是使用了加速ip。

简单来讲,CDN就是根据用户位置分配最近的资源。修改代码后问题解决:

ip02.webp

今天写这篇文章备份一下,防止以后出现类似问题无从下手,希望也能帮到网友们!

  • 若是WordPress,就在主机根目录找到wp-config.php文件,在里面添加如下代码
  • 若是Typecho,就在根目录找到config.inc.php,添加如下代码
  • 最后记得清除CDN缓存
/** 防止CDN造成无法获取客户真实IP地址 */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
    $_SERVER['REMOTE_ADDR'] = $list[0];
}