1.
准备工作与需求确认
- 确认域名已备案(如适用)并可以访问域名管理面板;
- 准备好源站(Origin)IP 或负载均衡器,记录 HTTP/HTTPS 端口;
- 选择支持 CN2 线路的 CDN 服务商(确认控制台可选“CN2/电信直连”或类似名称);
- 确认是否使用自带证书(上传证书)或由 CDN 提供托管证书(如 Let’s Encrypt)。
2.
在 CDN 控制台创建加速域名
- 登录 CDN 服务商控制台 → 添加加速域名,填写你的域名(如 www.example.com);
- 选择区域:选择“台湾”或“全网/全球”并特别选择“CN2/电信”网络或“优选 CN2”线路;
- 回源方式:填写源站域名或 IP(举例 origin.example.com 或 1.2.3.4),并指定回源端口 80/443;
- 缓存策略与回源头:设置缓存规则、是否保留 Host、是否使用 HTTPS 回源(推荐开启 HTTPS 回源)。
3.
DNS 配置(添加 CNAME / A 记录)
- 若 CDN 提供 CNAME:在域名解析处添加 CNAME 记录,主机名指向 CDN 提供的域名(例如 abc.cdnprovider.net);
- 若提供加速 IP(少见):添加 A 记录指向 CDN 边缘 IP;
- 设置较短的 TTL(如 300 秒)便于测试,生效后可调整回更长 TTL;
- 等待解析生效:使用 dig/nslookup 验证 CNAME/A 记录是否正确指向 CDN。
4.
配置 HTTPS:选择证书模式
- 托管证书(CDN 自动申请):在 CDN 控制台选择“使用 CDN 托管证书(Let’s Encrypt)”,输入域名并验证;
- 上传自有证书:准备好 PEM 格式的证书链(cert.pem)和私钥(privkey.pem),在控制台上传并填写中间证书;
- 若使用通配符证书,请确保证书覆盖子域名并私钥匹配。
5.
使用 Let’s Encrypt(Certbot)申请并部署证书示例
- 在源站服务器安装 certbot:Ubuntu 示例 sudo apt-get update && sudo apt-get install certbot;
- 使用 webroot 验证:sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com;
- 证书路径通常在 /etc/letsencrypt/live/example.com/,将 fullchain.pem 与 privkey.pem 下载或复制用于上传到 CDN(若 CDN 允许上传)。
6.
Nginx 配置示例(当 CDN 回源为 HTTPS 时)
- 在源站 Nginx 配置 server block:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:...';
proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- 启用 OCSP stapling 与安全头(Strict-Transport-Security)以提高安全性。
7.
在 CDN 控制台完成 HTTPS 绑定与策略设置
- 选择已上传或托管的证书并绑定到你添加的加速域名;
- 设置 HTTP 到 HTTPS 的强制跳转(Redirect)或在源站做 301 强制;
- 配置 TLS 最低版本(建议最低 TLS1.2)、启用 TLS1.3、关闭不安全协议与弱 ciphers;
- 配置缓存、压缩、页面规则(如路径缓存例外)以及跨域头(CORS)设置。
8.
CN2 专项优化与回源策略
- 若控制台提供 CN2 专线选项,启用以确保台湾到大陆/国际间走 CN2 优化线路;
- 配置源站负载均衡或多活回源;开启健康检查并设置合理的失败重试策略;
- 在 CDN 控制台查看边缘节点列表,确认台湾节点、香港节点覆盖并优先 CN2 路径。
9.
验证与故障排查
- 使用 curl 验证:curl -vkI https://www.example.com ,查看证书链与 SNI 是否正确;
- 使用 openssl 检查证书:openssl s_client -connect www.example.com:443 -servername www.example.com;
- 使用 traceroute/mtr 测试到域名的路由,确认走 CN2 路径;检查浏览器控制台是否有 Mixed Content 警告;
- 若证书链错误,检查是否上传了完整中间链(fullchain),私钥匹配且未被加密(或提供密码时填写正确)。
10.
自动续期与监控
- 如果证书在源站自动签发(certbot),配置 cron 或 systemd timer:sudo certbot renew --quiet;并在续期后重载 Nginx:systemctl reload nginx;
- 若使用 CDN 托管证书,关注 CDN 控制台续期提醒并测试续期后的证书生效;
- 配置外部监控(如 UptimeRobot)与证书到期提醒,避免证书过期导致用户中断。
11.
常见问题:为什么 CDN 证书显示不一致?
- 问:部署后访问发现证书不是我上传或期望的证书,原因是什么?
12.
常见问题答案
- 答:可能是 DNS 未生效仍直连源站、或浏览器缓存旧证书、或 CDN 边缘节点尚未刷新证书。请清理浏览器缓存,确认域名解析已指向 CDN,强制刷新 CDN 配置并等待 TTL 或手动触发证书下发。
13.
常见问题:如何确认流量确实走 CN2 线路?
- 问:怎样验证我的域名请求走的是 CN2 路由?
14.
常见问题答案
- 答:使用 traceroute/mtr 到域名或边缘 IP,观察中间跳点是否经过电信 CN2 节点;同时向 CDN 服务商索取节点日志或连接路径说明,或在控制台查看“线路/回源统计”确认 CN2 流量占比。
15.
常见问题:SSL 证书续期失败怎么办?
- 问:自动续期失败,站点提示证书到期,应如何处理?
16.
常见问题答案
- 答:先检查续期日志(/var/log/letsencrypt/),确认 80 端口或 webroot 验证路径是否被 CDN 或防火墙阻挡;临时将解析指向源站 IP 进行续期,或使用 DNS 验证方式续期;续期成功后再切回 CDN 并刷新证书绑定。
来源:台湾cdn cn2 部署步骤与SSL证书配置完整操作手册