跳转至

🌐 配置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 域名前在 流量 > 策略 =选项中添加 流量策略 . 此操作仅为管理员可见。

  • 流量策略包含映射到EdgeHit边缘节点的DNS A记录

  • 流量策略支持基于轮询或地理位置的DNS解析

    alt text

注意

流量策略必须使用==系统DNS域名==(由管理员定义的域名区域)

提示

流量策略实质是形如 traffic-policy-name.<系统域名> 的A记录,指向EdgeHit节点IP



👥 配置CDN用户套餐

本部分说明如何在用户账户中配置CDN域名前必需的CDN用户方案。

系统管理员需在 CDN > 用户方案 > 添加 部分为用户定义方案。

注意

用户账号(非管理员)只能通过应用分配给其账号的 CDN 计划来创建 CDN 域名,作为配置模板使用。

  • 用户无法手动定义 CDN 服务器组和流量策略。此设置限制了使用场景,并防止配置违规。

alt text

注意

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提供商选项:

alt text


设置Let's Encrypt

将Let's Encrypt设置为SSL提供商的流程非常简单。您只需要选择Let's Encrypt作为提供商,并指定一个名称即可完成设置。账户创建和密码等详细信息将自动生成。

alt text


通过API令牌设置ZeroSSL

要设置ZeroSSL,您需要在ZeroSSL.com创建一个账户。然后按照以下步骤设置ZeroSSL作为证书提供商:

  1. 进入ZeroSSL网站的开发者部分,记录提供的API密钥 !!!note "注意" 如果您重新生成API Token,请确保也将edgehit中的设置更改为最新令牌,因为它将使之前的所有Token失效

    alt text

  2. 在EdgeHit中,导航到SSL > 证书提供商 > 添加,选择 ZeroSSL API 作为证书提供商。然后在==密码== 字段中填入API Token。为设置指定一个适当的名称并保存更改。

    alt text

通过EAB设置ZeroSSL

除了使用API,您还可以使用ZeroSSL提供的EAB凭证来设置ZeroSSL作为证书提供商。

  1. 进入ZeroSSL网站的开发者部分。生成一个新的EAB凭证并本地保存

    注意

    一旦您生成了EAB凭证,旧凭证将被移除且无法再次查看,因此请确保将其本地备份

    alt text

  2. 在EdgeHit中,导航到SSL > 证书提供商 > 添加,选择 ZeroSSL 作为证书提供商。为设置指定一个适当的名称并保存更改。然后填写:

    • 在==密码==字段中填入EAB KID
    • 在==账户==字段中填入HAMC EAB KEY
    • 在==邮箱地址==字段中填入ZeroSSL账户邮箱地址

    alt text



🌐 配置CDN域名

本节说明如何在EdgeHit中配置CDN域名

  1. 用户创建CDN域名CDN > 域名部分进行配置:

    注意

    此操作需使用用户账户(非管理员账户),因为CDN域名创建会生成对应账单和使用分析

    • 使用CDN方案添加新域名时,源站必须使用IP地址(域名字段填写源站FQDN)

      alt text

    • 支持配置多个内容相同的源站,通过权重参数定义负载均衡规则

      alt text

  2. 高级选项配置 (可选)

    • 基础安全设置:

      注意

      如果源站服务器托管在共享主机环境中,必须将实际的域名配置为 自定义回源服务器主机头

      alt text

      配置项 说明
      启用状态 控制域名是否生效
      HTTPS 启用客户端与CDN边缘的安全通信
      强制HTTPS 自动将HTTP请求重定向到HTTPS
      HSTS 强制客户端后续访问使用HTTPS
      GZIP压缩 启用响应压缩减少传输量
      自定义回源服务器主机头 指定转发到源站的自定义HTTP "Host" Header(虚拟主机场景必需)
      源站协议 选择CDN边缘服务器访问回源时使用的协议


    • 源站健康检查设置:

      注意

      负载均衡选项只有在对应的 CDN 用户计划允许的情况下,才能设置为其他参数。更多详情请参阅 高级用户计划配置

      alt text

      字段 说明
      负载均衡 定义请求分发策略
      启用健康检查 定期检测源站可用性
      失败超时(秒) 标记故障源站后的重试间隔
      最大失败次数 允许的最大连续失败次数


  3. 完成配置 配置完成后将显示域名详情:

    alt text

    • 需手动创建CNAME记录将实际域名指向站点映射点

      alt text

  4. DNS解析验证

    添加CNAME记录后,等待1-2分钟执行dig命令验证:

    dig testing.game23.top
    

    解析流程说明:

    alt text

    • 用户自定义的CNAME记录将域名指向 站点别名
    • ===站点别名== 作为CNAME记录指向 流量策略
    • 流量策略 包含实际的A记录,映射到配置了NGINX反向代理和缓存功能的EdgeHit实例

    提示

    • 流量策略是一个DNS A记录,记录名为 流量策略名称.<系统DNS域名>,内容为 EdgeHit的IP地址

    提示

    • 站点别名是一个DNS CNAME记录,记录名为 <用户域名>.<域名前缀>.<系统DNS域名>,内容为流量策略


  5. 用户验证SSL证书签发

    Note

    由于CNAME记录是在定义CDN域名后添加的,通常在定义CNAME记录后需要等待4-5分钟才能签发SSL证书,原因如下:

    • DNS记录传播需要时间
    • 证书申请需要时间,且可能需要等待之前因DNS解析失败而触发的超时计时器

    默认情况下,EdgeHit会自动请求SSL证书(前提是管理员已配置证书提供商)。您可以在 CDN > 域名 > 详情 > 证书 部分查看SSL证书申请过程和状态

    alt text

    如果仍处于待处理状态,您也可以手动触发SSL证书申请:

    alt text

  6. 用户浏览CDN域名

    完成以上所有设置后,用户可以在本地浏览器中浏览配置的CDN域名。

    在调试工具的网络选项卡中,您可以看到EdgeHit节点在响应头中添加的额外标头,表明该域名实际上是由EdgeHit CDN提供服务的。

    alt text

  7. 用户查看CDN使用分析

    您还可以在 分析 > CDN 部分查看CDN使用情况分析。该部分将显示每个CDN域名的总使用量,并提供带时间轴过滤的多视图展示

    alt text

    注意

    如果在分析中发现未缓存请求比例较高,建议重新设计您的Web服务器以允许缓存内容,或放宽CDN中的缓存规则。