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

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

以宝塔为例,我这里可以直接看一下反代服务器的 Nginx 用的是啥。
图片[1]-修正 WordPress 开启 CDN 后 IP 识别不正确的问题-淇云博客
上图我们可以看到用的是“X_FORWARDED_FOR”函数
所以我们直接用“HTTP_X_FORWARDED_FOR”来替换“REMOTE_ADDR”即可。

首先我们用的一段代码来修改进我们的 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 获取就变成正常了。
我又成功水了一篇文章。

温馨提示:本文最后更新于2021-07-22 15:00:03,某些文章具有时效性,若有错误或已失效,请在下方留言或联系博主

感谢来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
赞赏
评论 抢沙发
pengqi的头像-淇云博客

昵称

取消
昵称表情代码图片