骑着悟空看八戒 发表于 3 天前

(续)discuz使用EdgeOne后获取客户真实ip教程 New

先说优点:为什么推荐使用EO
收费个人版每月不到10元月租,一般个人站长也足够用了
它提供静动态智能链路加速,TCP/UDP四层代理,Web应用防火墙、多路复用与协议优化,和基础防DOSS能力一应俱全的CDN
加速效果非常明显
(怎么看起来像给EdgeOne打广告,其实还真不是,没人给广告费,哈哈)

在使用过程中发现,获取到的用户来源 IP 均为 CDN 节点 IP,而非真实客户端 IP。这在查看和处理日志时带来了一些麻烦,尤其是在拦截恶意 IP 或爬虫时,容易误封 CDN 节点地址。

上次写过一次类似教程,但发现了很多问题
所以准备重写
腾讯云EdgeOne 提供永久免费版申请,具体详情https://cloud.tencent.com/document/buy-guide/1552/118985
就是申请比较麻烦

教程:
1、站点加速-规则引擎-创建规则-新增空白规则(如果已有规则在原规则下面添加即可)
完成后如下图:


2、具体说明
点击操作,选择客户端ip头部,命名为 “EO-Client-IP”




3、返回宝塔
在/www/server/nginx/conf/ 目录下新建文件 命名为 tencent_eo_ips.conf
打开tencent_eo_ips.conf文件里面添加腾讯云EO回源ip段,格式大概是这样的


注:如果不知道回源ip节点,在eo控制台找到安全防护-源站防护里找



4、宝塔-网站-配置文件
在配置文件顶部增加

5、/condig/config_global.php(这步也可以忽略,我是加上了)
搜索:
$_config['ipgetter']['setting'] = 'header';下面添加
$_config['ipgetter']['header']['header'] = 'HTTP_EO-Client-IP';
完成

最后:给个最简单的测试方式,把这一个php文件放到网站根目录(1L有完整代码也可以免下载自己去添加)

然后运行 https://你网站/2.php

预览:


如果还有什么不明白跟帖回复

寒哥Gh61ac8 发表于 3 天前

测试方式
在论坛根目录新建php文件
内容:
<?php// 增强版客户端IP测试(腾讯云EdgeOne专用)echo "<h2>腾讯云EdgeOne客户端IP测试</h2>";// 1. 核心IP字段检测$ipSources = [    'REMOTE_ADDR' => '服务器直接连接IP',    'HTTP_X_FORWARDED_FOR' => '代理链IP(可能包含多个)',    'HTTP_EO_CLIENT_IP' => 'EdgeOne客户端IP',    'HTTP_EO_CONNECTING_IP' => 'EdgeOne连接IP',    'HTTP_X_REAL_IP' => 'Nginx真实IP',    'HTTP_CF_CONNECTING_IP' => 'Cloudflare专用头(兼容性检测)'];echo "<h3>

huoxianghui913 发表于 3 天前

国内的要备案,国际版跟cloudflare有一比,速度感人

风之影赫 发表于 3 天前

ZHEN正在用EO非常需要

寒哥Gh61ac8 发表于 3 天前

免费版的能用这个方法吗

huoxianghui913 发表于 3 天前

ji8123 发表于 2025-10-10 10:03
免费版的能用这个方法吗
完全一样
页: [1]
查看完整版本: (续)discuz使用EdgeOne后获取客户真实ip教程 New