新用户新用户即享 DNS 与 CDN 免费套餐。立即注册

10 分钟把网站接入 Yeap CDN 并开启免费 HTTPS

一步一步把现有网站放到 Yeap CDN 后面:添加域名、配置源站、用 CNAME 或 NS 接入、申请免费 Let's Encrypt 证书、选择 SSL 模式并强制 HTTPS,最后用 curl 验证。

这篇教程演示如何把一个已有的网站接入 Yeap CDN,并为它开启免费的 HTTPS。假设你已经有一个可以访问的源站(任何一台能通过 HTTP 或 HTTPS 访问的服务器都可以),以及一个可以修改 DNS 的域名。下面以 www.example.com 为例。

开始之前

  • 一个 Yeap Cloud 账户,登录 console.yeap.cloud。
  • 源站地址:IP 或主机名,以及它监听的协议和端口。
  • 修改域名 DNS 的权限:要么能在现有 DNS 服务商处添加 CNAME 记录,要么能在注册商处修改 NS。

第 1 步:添加域名(约 2 分钟)

在控制台进入 CDN → 域名,点击添加域名,打开接入向导(路径为 /cdn/domains/new)。向导共五步:基础信息、套餐选择、接入方式、源站设置、接入指引。

在 基础信息 中填写:

  • 域名:例如 example.com;
  • 加速线路 / 分组:选择你希望使用的边缘节点分组;
  • 启用 SSL:打开;
  • 其余选项(WAF、HTTP 版本、WebSocket、代理超时)可以保持默认,之后随时可以在域名设置里修改。

在 套餐选择 中选择一个 CDN 套餐。如果只是试用,选择免费套餐即可;付费套餐需要先完成支付才能继续。

第 2 步:选择接入方式(约 1 分钟)

有两种方式:

方式你需要做什么适用场景
CNAME 接入在现有 DNS 服务商处为子域名添加一条 CNAME 记录已经在使用其他 DNS 服务,只想加速部分子域名
NS 接入在注册商处把域名的 NS 改为 Yeap DNS希望由 Yeap 统一管理 DNS 和 CDN

选择 NS 接入时,平台会自动为你的域名创建 DNS 区域,并写好 CDN 所需的 CNAME 记录。本教程以 CNAME 接入为例。

第 3 步:配置源站(约 2 分钟)

在 源站设置 中为每个需要加速的主机名添加源站:

  • 主机名:www.example.com;
  • 源站地址:源站的 IP 或主机名;
  • 协议和端口:源站实际监听的协议和端口,例如 HTTPS / 443;
  • 负载模式:如果有多个源站地址,可以选择负载均衡方式;
  • HTTP 版本、WebSocket 和超时可以按需调整。

如果你的源站只支持 HTTP,协议选 HTTP 即可,后面会在 SSL 模式里说明这意味着什么。

第 4 步:添加 CNAME 记录(约 2 分钟,加上 DNS 生效时间)

保存源站后,向导进入 接入指引,列出每个主机名对应的 CNAME 目标。复制它,到你的 DNS 服务商处添加记录:

www.example.com.   300   IN   CNAME   <控制台显示的 CNAME 目标>.

添加之后,点击指引页的 DNS 检查 按钮确认记录是否已经生效。你也可以自己检查:

dig +short CNAME www.example.com

注意:根域名(example.com 本身)在很多 DNS 服务商那里不能设置 CNAME。如果需要加速根域名,可以选择 NS 接入,或者使用你的 DNS 服务商提供的 CNAME 拉平功能。

第 5 步:申请免费证书(约 2 分钟)

进入域名详情页的 SSL 标签(/cdn/domains/你的域名/ssl),为主机名点击 管理证书,在 自动证书(Let's Encrypt) 中点击 HTTP-01 验证。

HTTP-01 验证的原理是:证书颁发机构会访问 http://www.example.com/.well-known/acme-challenge/...,确认你确实控制这个域名。因为你的域名此时已经指向 CDN,验证请求会到达边缘节点,由边缘直接应答。这也是为什么要先完成第 4 步、等 DNS 生效后再申请证书。

申请过程中页面会显示进度(等待、验证中、签发中)。证书有效期为 90 天,系统会在到期前自动续期,你不需要做任何事。如果你已有自己的证书,也可以在同一个页面上传 PEM 格式的证书和私钥。

第 6 步:选择 SSL 模式并强制 HTTPS(约 1 分钟)

证书解决的是"浏览器到 CDN"这一段的加密。"CDN 到源站"这一段由 SSL 模式决定:

模式CDN 到源站建议
关闭HTTP 明文不推荐
灵活HTTP 明文,浏览器到 CDN 仍是 HTTPS仅在源站完全不支持 HTTPS 时临时使用
完全HTTPS,不验证源站证书源站使用自签名证书时
完全(严格)HTTPS,验证源站证书推荐

"完全(严格)"要求源站证书由受信任的 CA 签发并且与主机名匹配。最简单的做法是在源站上也部署一张 Let's Encrypt 证书。从更安全的模式切换到"关闭"或"灵活"时,控制台会弹窗提醒你这是一次安全降级。

然后打开 强制 HTTPS,边缘会把所有 HTTP 请求重定向到 HTTPS。确认一切正常之后,可以在同一页面开启 HSTS,让浏览器在一段时间内只使用 HTTPS 访问(常用 max-age 为 31536000 秒,即一年)。HSTS 一旦下发就很难撤回,建议先用较短的 max-age 观察,确认所有子域名都支持 HTTPS 后再开启"包含子域"和"Preload"。

第 7 步:验证

# HTTP 应该被重定向到 HTTPS
curl -sI http://www.example.com/ | head -n 3

# HTTPS 正常返回,并带有缓存状态头
curl -sI https://www.example.com/logo.png | grep -i -E "^HTTP|x-cache-status"

对可缓存的静态资源,第一次请求通常是 MISS,再次请求应该看到 HIT。动态页面默认可能是 BYPASS 或 MISS,这是正常的。

接下来可以做什么

  • 在 缓存 标签调整缓存时间和查询参数模式,提高命中率;
  • 在 防火墙 标签添加访问规则;
  • 在 优化 标签开启压缩等性能优化;
  • 在 流量 和 诊断 标签查看访问情况和排查问题。

整个过程中真正需要等待的只有 DNS 生效。如果你的 DNS 记录 TTL 较短,十分钟内就能完成从添加域名到 HTTPS 生效的全部步骤。

在 Yeap Cloud 上构建

新用户即享 DNS 与 CDN 免费套餐。

免费注册