🎉 恭喜你发现了宝藏!

修正 WordPress 开启 CDN 后 IP 识别不正确的问题

文章最后更新时间:2025-12-15 15:50:43

其实这个问题还是非常简单的,主要的原因是因为 WordPress 本身是用“REMOTE_ADDR”函数来获取用户 IP 的,而我们的 Web 服务器可能用的是“HTTP_X_FORWARDED_FOR”或者“HTTP_X_REAL_IP”函数来获取 IP,如果不知道怎么办呢,那就两个都试试。

以宝塔为例,我这里可以直接看一下反代服务器的 Nginx 用的是啥。

图片[1] - 修正 WordPress 开启 CDN 后 IP 识别不正确的问题 - 诺守博客

set_real_ip_from 0.0.0.0/0;

real_ip_header X–Forwarded–For;

首先我们用的一段代码来修改进我们的 wp-config.php 文件里面,这个文件就在我们 WordPress 根目录下。

/** 修正启用CDN后IP识别不正确的问题 */
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];}
图片[2] - 修正 WordPress 开启 CDN 后 IP 识别不正确的问题 - 诺守博客

把上面代码添加到最底部,或者添加到 <?php 之后都是可以的。

如果这段代码不行,那么你的 CDN 用的可能是“HTTP_X_REAL_IP”函数来获取 IP 的,那我们就要修改成如下添加到 wp-config.php

/** 修正启用CDN后IP识别不正确的问题 */
if(isset($_SERVER['HTTP_X_REAL_IP'])){
$list = explode(',',$_SERVER['HTTP_X_REAL_IP']);
$_SERVER['REMOTE_ADDR'] = $list[0];}

好了,修改完之后,IP 获取就变成正常了。

© 版权声明
THE END
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容