1.1 确认你已开通百度云/百度云加速(Baidu CDN)并能管理域名;
1.2 域名已在百度 CDN 控制台添加并通过域名所有权校验(通常是 CNAME 或 TXT 验证);
1.3 确认源站支持 HTTPS(如果使用 CDN 回源 HTTPS,请在源站配置好证书或使用自签名并在 CDN 允许自签名回源);
1.4 准备好域名的管理员权限以便上传证书或在控制台申请证书。
2.1 推荐使用受信任的 CA(如 Let's Encrypt、商业 CA)获取证书,避免浏览器信任问题;
2.2 如果自己生成 CSR/私钥(在本地或服务器)可使用 openssl:
openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=YourCompany/CN=www.example.com"
2.3 证书拿到后,通常有服务器证书(cert.crt)和中间链(intermediate.crt),将它们按顺序合成 fullchain:
cat cert.crt intermediate.crt > fullchain.pem
3.1 登录百度云加速/CDN 控制台,找到你要配置的加速域名;
3.2 在“HTTPS/证书管理”或“安全/SSL”设置中,选择“上传自有证书”或“申请免费证书”(视平台功能而定);
3.3 上传时注意格式:证书与中间链通常需为 PEM 格式(以 -----BEGIN CERTIFICATE----- 开头);私钥为 PEM 私钥(-----BEGIN PRIVATE KEY-----);如果平台要求将证书链合并,请上传 fullchain.pem 与 domain.key;
3.4 确认证书中的域名(Common Name / SAN)包含你要加速的主域名及子域名(例如 www.example.com 与 example.com)。
4.1 在加速域名设置中启用“HTTPS 加速/启用 SSL”;
4.2 回源协议选择:若源站支持 HTTPS,建议选择“回源 HTTPS(SNI 支持)”;若源站仅支持 HTTP,可选择“回源 HTTP”,但要注意安全与证书链一致性;
4.3 配置 SNI(若有选项)并确认 CDN 使用的服务器证书在回源时能通过校验;
4.4 保存并等待平台生效(通常几分钟到十几分钟)。

5.1 在 CDN 设置中启用“强制 HTTPS(HTTP 301/302 跳转至 HTTPS)”,保证访问统一为 HTTPS;
5.2 在响应头中加入 HSTS(Strict-Transport-Security)以告知浏览器只使用 HTTPS:例如 Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;
5.3 注意:HSTS 一旦生效对站点影响大,生产启用前先在测试域确认无问题;若使用 preload,请先在 HSTS 的流行预加载列表规则下注册。
6.1 用浏览器开发者工具(Console)打开站点,加载 HTTPS 页面,查找 Mixed Content 警告与报错,记录受影响的资源 URL(JS、CSS、图片、iframe 等);
6.2 在代码库中批量替换:将所有 http://example.com 的引用替换为 https://example.com,或使用相对路径(/path/to/resource)和 HTTPS 前缀;
6.3 第三方资源:优先使用第三方 HTTPS 版本,若无 HTTPS,则下载并托管到自己的 CDN 或使用可信替代来源;
6.4 对动态生成的链接(CMS、API 返回)检查后端模板与配置,确保生成 HTTPS 链接或协议相对链接;
6.5 在页面头部可临时启用 Content-Security-Policy: upgrade-insecure-requests 来自动升级所有 HTTP 请求为 HTTPS(作为过渡手段,需谨慎测试)。
7.1 切换到 HTTPS 后,先在小流量/测试域进行灰度验证;
7.2 在 CDN 控制台执行缓存刷新(purge)和预热(preload)以避免旧的 HTTP 缓存导致资源仍被请求为 HTTP;
7.3 制定回滚方案:若 HTTPS 配置出现不可预见问题,可临时关闭强制 HTTPS 并回退证书配置或回源设置,确保业务可用;
7.4 监控:使用线上监控(Synthetic Check、Uptime)和浏览器错误收集(Sentry、前端监控)观察混合内容/证书错误。
问:页面仍提示“混合内容”,我该如何一步步定位并修复?
答:先用浏览器 Console 列出的具体资源 URL 作为切入点;然后在代码仓库和数据库中全文搜索这些 URL,确认是静态文件、模板、还是第三方脚本;对静态资源替换为 HTTPS 或托管到 CDN,并检查 API/第三方是否支持 HTTPS;最后清理 CDN 缓存并刷新页面重新验证。
问:证书到期如何实现自动续期并安全更新到百度 CDN?
答:推荐使用 Let's Encrypt + certbot 在源站自动申请与续期证书,续期后通过脚本调用百度 CDN API(或控制台上传接口)将新证书与私钥自动上传并替换;若平台提供托管证书并自动续期功能,优先使用平台托管以简化流程;脚本要注意权限与私钥安全。
问:如何用命令行验证 CDN 上的证书与证书链配置是否正确?
答:可用 openssl 检查:openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts,查看证书链、到期时间和是否有中间证书丢失;也可用 curl -Ik https://www.example.com 查看响应头与重定向;浏览器打开查看证书详情是最终确认方式。