Anye
Anye
发布于 2025-07-24 / 124 阅读
0
1

用了 EdgeOne 降本增效,源站却可能裸奔?

前言

上篇我们写了如何在 2C2G 的轻量应用服务器上采用 Docker Compose 的方法运行起完整的站点自动化环境,但是毕竟直接使用服务器提供服务的话会有 ip 暴露的风险,以及带宽较小的话难以承担网站大图等问题。

以前我们的选择可能只有 Cloudflare,(不是说它不好,但是对于国内环境来说确实差强人意),最近腾讯新出了 EdgeOne Free 套餐,对于备案网站有境内节点可供使用,无疑是当下用来加速的最优选择。但即便部署了 CDN,如果配置不当,源站 IP 仍可能暴露,导致被绕过攻击(如 DDoS、探测、漏洞利用等)。

但是!EdegOne 免费版仍旧为我们提供了 源站防护 功能!接下来我们就详细讲解一下如何通过配置 1Panel 的 Openresty 和 EdgeOne,真正隐藏源站 IP,避免绕过攻击,打造一个安全、高效的加速站点。

准备工作

  • 已经部署好网站的服务器一台

  • 一个 EdgeOne 兑换码(后期开放公测不再需要)

原理说明

EdgeOne 的 源站防护 是通过限制源站访问来源 IP 实现的。也就是说,当你的网站部署在一台公网服务器上时,只有来自 EdgeOne 节点的请求才能被源站接收和响应,其它来源的访问(包括直接通过 IP 访问的攻击者)都会被拒绝,从而 彻底隐藏真实 IP,避免绕过 CDN 的各种攻击行为。

实现这一点的关键,就是在 Web 服务(例如 Nginx/OpenResty)中配置一组允许访问的 IP 白名单。这些 IP 是 EdgeOne 回源节点的固定出口地址,只要维护好这个列表,就可以实现严密的访问控制。

实战开始

EdgeOne 绑定加速站点

进入腾讯云官网

https://console.cloud.tencent.com/edgeone/zones

或者是国际版

https://console.tencentcloud.com/edgeone/zones

输入站点域名开始接入

点击 绑定至已购套餐

备案域名可以 选择全球可用区(包含境内节点),接入方式按需选择,我这里选择 DNSPod 托管

配置站点加速

点击 域名管理 ,新增加速网站,按需开启 IPv6 访问,使用 HTTPS 协议回源,按需选择加速模版:

开启 源站防护 功能

安全防护 - 源站防护 处,点击 立即使用

选择需要被防护的资源,点击 提交

我们会得到这样一些 IP:

将其复制出来,保存为 cdn_ips.txt 备用。

1.71.146.0/23
101.33.0.0/19
101.33.195.0/24
101.71.100.0/23
···

2402:4e00:37::/48
2402:4e00:c010::/48
2402:4e00:c031:7fd::/64
2402:4e00:c031:7fe::/64
···

修改站点配置

注意:本次演示使用 1Panel ,使用 Nginx / Openresty 等其他网站应用可参考编写。

找到站点文件夹,新建 custom-conf 文件夹,如图,将 cdn_ips.txt 放进去:

点击 终端 ,执行下面的命令,用于生成配置文件:

cat cdn-ips.txt | sed 's/^/allow /' | sed 's/$/;/' > cdn-allow.conf
echo "deny all;" >> cdn-allow.conf

生成的 cdn-allow.conf 长这样:

allow 1.71.146.0/23;
allow 101.33.0.0/19;
allow 101.33.195.0/24;
allow 101.71.100.0/23;
···

allow 2402:4e00:37::/48;
allow 2402:4e00:c010::/48;
allow 2402:4e00:c031:7fd::/64;
allow 2402:4e00:c031:7fe::/64;
···

deny all;

然后在站点配置文件夹中添加该配置文件的路径:

include /www/sites/<你的网站域名>/custom-conf/cdn-allow.conf;

点击 保存并重载

效果验证

此时此刻,当你使用非 cdn 节点的 ip 访问网站时,会被拒绝访问。

不过通过证书等信息还是可以判断该 ip 是你的源站 ip,可以通过 EO 的自定义客户端证书以及自签服务器证书等,来确保源站 ip 无法被判断为站点 ip。

后记

需要注意的是,EdgeOne 的 回源 IP 网段会每 3~6 个月轮换一次,需要手动更新配置文件。

建议可以参考使用腾讯云的 API https://console.cloud.tencent.com/api/explorer?Product=teo&Version=2022-09-01&Action=ConfirmOriginACLUpdate 来自动获取最新的 ip 段。

这 EO 套了确实快哈,嘿嘿


评论