🌐 配置CDN域名
本文说明EdgeHit作为CDN网络的运作原理,以及如何在EdgeHit-CDN下配置CDN域名。
澄清
术语CDN域名可能容易与DNS域名混淆,其实际含义是:
- 在EdgeHit CDN中注册的用户DNS域名,为内容分发网络的接入点
- 由EdgeHit通过站点映射(SiteMap)和流量策略(Traffic Policy)的CNAME/A记录实现SSL终止的域名, 最终解析到实际域名
- 技术实现类似AWS Route53的别名记录, 以及Cloudflare的CNAME扁平化技术
🛑 前提条件
用户需具备
- 作为源站的Web服务器或相关服务
-
已在EdgeHit DNS或其他提供商(如Dynadot/GoDaddy)管理的域名
注意
若使用EdgeHit DNS,需确保账户已启用DNS管理员角色并激活DNS域名方案
-
有效的EdgeHit账户
- 已分配的CDN服务方案
管理员需完成
- 在EdgeHit Controller中部署EdgeHit作为CDN服务器
- 配置EdgeHit DNS作为DNS服务器
- 完成基础设施配置(IP列表/CDN服务器组等)
参考:添加CDN&DNS服务器
🚦 配置流量策略
管理员需要在添加 CDN 域名前在 流量 > 策略 =选项中添加 流量策略 . 此操作仅为管理员可见。
注意
流量策略必须使用==系统DNS域名==(由管理员定义的域名区域)
提示
流量策略实质是形如 traffic-policy-name.<系统域名> 的A记录,指向EdgeHit节点IP
👥 配置CDN用户套餐
本部分说明如何在用户账户中配置CDN域名前必需的CDN用户方案。
系统管理员需在 CDN > 用户方案 > 添加 部分为用户定义方案。
注意
用户账号(非管理员)只能通过应用分配给其账号的 CDN 计划来创建 CDN 域名,作为配置模板使用。
- 用户无法手动定义 CDN 服务器组和流量策略。此设置限制了使用场景,并防止配置违规。
注意
CDN 用户计划中的 选择 DNS 域名 选项是用来定义用于存储 站点别名 的DNS域名,而不是存储所有用户域名记录的域名区域。此字段只能选择系统DNS域名作为选项。
提示
站点别名是一个 DNS CNAME 记录,其记录名称为<用户域名>.<用户域名>.<系统域名>,记录内容为对应套餐的流量策略
CDN 用户计划定义了 CDN 服务器组和流量策略,作为配置 CDN 域名的模板。它还限制了用户在 EdgeHit 下可以注册的域名数量,并通过映射访问某些边缘节点组来划分服务等级。详情请参阅 高级用户计划配置
-
CDN 服务器组定义了一组 EdgeHit 服务器,负责存储用于从源站缓存内容并为用户域名提供服务的 NGINX 配置块
-
流量策略定义了将流量指向对应服务器组所需的 A 记录
注意
必须确保流量策略记录中的 A 记录与服务器组中所有 EdgeHit 服务器的 IP 匹配,以防止配置错误或连接中断
-
CDN 用户计划还可以为使用第三层域名如 ccTLD
.com.my的用户定义域名前缀。在这种情况下,.my被定义为域名前缀。
📃 配置SSL证书提供商
EdgeHit通过预置的SSL证书提供商运行ACME脚本,提供SSL证书自动续期功能。
管理员需在配置CDN域名前设置证书提供商,以确保边缘节点的SSL终止功能正常工作,使EdgeHit能够提供HTTPS服务。
以下是可在 SSL > 证书提供商 > 添加 部分设置的可用SSL提供商选项:
设置Let's Encrypt
将Let's Encrypt设置为SSL提供商的流程非常简单。您只需要选择Let's Encrypt作为提供商,并指定一个名称即可完成设置。账户创建和密码等详细信息将自动生成。
通过API令牌设置ZeroSSL
要设置ZeroSSL,您需要在ZeroSSL.com创建一个账户。然后按照以下步骤设置ZeroSSL作为证书提供商:
-
进入ZeroSSL网站的开发者部分,记录提供的API密钥 !!!note "注意" 如果您重新生成API Token,请确保也将edgehit中的设置更改为最新令牌,因为它将使之前的所有Token失效
-
在EdgeHit中,导航到
SSL > 证书提供商 > 添加,选择ZeroSSL API作为证书提供商。然后在==密码== 字段中填入API Token。为设置指定一个适当的名称并保存更改。
通过EAB设置ZeroSSL
除了使用API,您还可以使用ZeroSSL提供的EAB凭证来设置ZeroSSL作为证书提供商。
-
进入ZeroSSL网站的开发者部分。生成一个新的EAB凭证并本地保存
注意
一旦您生成了EAB凭证,旧凭证将被移除且无法再次查看,因此请确保将其本地备份
-
在EdgeHit中,导航到
SSL > 证书提供商 > 添加,选择ZeroSSL作为证书提供商。为设置指定一个适当的名称并保存更改。然后填写:- 在==
密码==字段中填入EAB KID - 在==
账户==字段中填入HAMC EAB KEY - 在==
邮箱地址==字段中填入ZeroSSL账户邮箱地址
- 在==
🌐 配置CDN域名
本节说明如何在EdgeHit中配置CDN域名
-
用户创建CDN域名 在
CDN > 域名部分进行配置:注意
此操作需使用用户账户(非管理员账户),因为CDN域名创建会生成对应账单和使用分析
-
高级选项配置 (可选)
-
基础安全设置:
注意
如果源站服务器托管在共享主机环境中,必须将实际的域名配置为
自定义回源服务器主机头。配置项 说明 启用状态 控制域名是否生效 HTTPS 启用客户端与CDN边缘的安全通信 强制HTTPS 自动将HTTP请求重定向到HTTPS HSTS 强制客户端后续访问使用HTTPS GZIP压缩 启用响应压缩减少传输量 自定义回源服务器主机头 指定转发到源站的自定义HTTP "Host" Header(虚拟主机场景必需) 源站协议 选择CDN边缘服务器访问回源时使用的协议
-
源站健康检查设置:
注意
负载均衡选项只有在对应的 CDN 用户计划允许的情况下,才能设置为其他参数。更多详情请参阅 高级用户计划配置
字段 说明 负载均衡 定义请求分发策略 启用健康检查 定期检测源站可用性 失败超时(秒) 标记故障源站后的重试间隔 最大失败次数 允许的最大连续失败次数
-
-
完成配置 配置完成后将显示域名详情:
-
DNS解析验证
添加CNAME记录后,等待1-2分钟执行dig命令验证:
解析流程说明:
- 用户自定义的CNAME记录将域名指向
站点别名 - ===
站点别名== 作为CNAME记录指向流量策略 流量策略包含实际的A记录,映射到配置了NGINX反向代理和缓存功能的EdgeHit实例
提示
- 流量策略是一个DNS A记录,记录名为
流量策略名称.<系统DNS域名>,内容为 EdgeHit的IP地址
提示
- 站点别名是一个DNS CNAME记录,记录名为
<用户域名>.<域名前缀>.<系统DNS域名>,内容为流量策略
- 用户自定义的CNAME记录将域名指向
-
用户验证SSL证书签发
Note
由于CNAME记录是在定义CDN域名后添加的,通常在定义CNAME记录后需要等待4-5分钟才能签发SSL证书,原因如下:
- DNS记录传播需要时间
- 证书申请需要时间,且可能需要等待之前因DNS解析失败而触发的超时计时器
默认情况下,EdgeHit会自动请求SSL证书(前提是管理员已配置证书提供商)。您可以在
CDN > 域名 > 详情 > 证书部分查看SSL证书申请过程和状态如果仍处于待处理状态,您也可以手动触发SSL证书申请:
-
用户浏览CDN域名
完成以上所有设置后,用户可以在本地浏览器中浏览配置的CDN域名。
在调试工具的网络选项卡中,您可以看到EdgeHit节点在响应头中添加的额外标头,表明该域名实际上是由EdgeHit CDN提供服务的。
-
用户查看CDN使用分析
您还可以在
分析 > CDN部分查看CDN使用情况分析。该部分将显示每个CDN域名的总使用量,并提供带时间轴过滤的多视图展示注意
如果在分析中发现未缓存请求比例较高,建议重新设计您的Web服务器以允许缓存内容,或放宽CDN中的缓存规则。


















