安装与部署
网站用了 CDN,SSL 证书应该装在哪里?
服务器换了证书,CDN 为什么还要再换一次?结合阿里云 CDN、ESA 和腾讯云 CDN,说明源站与加速服务的证书怎么配置,以及本站能帮你完成哪些操作。
在宝塔或 Nginx 里换了新证书,浏览器却还显示旧到期日。如果网站用了阿里云 CDN、ESA 或腾讯云 CDN,先看看云平台上的证书有没有更新。服务器和云平台各自保存证书,改了其中一处,另一处不会跟着变。
浏览器看到的,可能不是服务器上的证书
以 www.example.com 接入 CDN 为例,访客先连接 CDN,CDN 再根据需要向源站取内容。浏览器查看到的是 CDN 提供的证书,也就是云控制台里这个加速域名绑定的证书。
源站则是存放网站程序和数据的服务器。CDN 使用 HTTPS 访问源站时,还会用到源站上的证书;如果使用 HTTP 回源,这段通信就没有使用 HTTPS。仅在 CDN 上开启 HTTPS,不会自动更改回源协议。
两处可以用同一张证书,也可以用不同证书。只要分别满足域名、信任和有效期要求,到期日不一样并不一定有问题。真正要避免的是只记得给服务器换证,直到访客收到过期提示,才发现 CDN 上那张一直没换。
先找到正在使用的云产品
阿里云传统 CDN 在加速域名中配置 HTTPS;ESA 在站点中管理边缘证书。虽然都能加速网站,但不能把 ESA 站点当成 CDN 加速域名来配置。
腾讯云 CDN 同样需要为加速域名配置证书。证书已经出现在腾讯云 SSL 证书管理中,只能说明已上传保存,还要把它用于对应的 CDN 域名。
管理多个网站时,尤其要看清完整域名。例如官网用了 www.example.com,图片用了 static.example.com,这两个域名可能分别配置。更新官网证书,不代表图片域名也一起更新。
在 NestSSL 里,该选哪个部署目标
如果要更新阿里云 CDN 的证书,选择 CDN 目标并填写加速域名;使用 ESA,就选择 ESA 目标并填写站点 ID。DCDN 则有单独的目标类型。选对产品后,NestSSL 才会调用相应接口更新证书。
CAS 目标只把证书上传到阿里云证书库。腾讯云 SSL 目标也只上传到腾讯云证书库,目前不会直接替您更新腾讯云 CDN。使用这两种目标时,上传完成后还要到云控制台选择新证书,绑定到实际业务。
云产品上的证书更新,也不会替换您服务器里的 Nginx 文件。源站需要换证时,仍要在宝塔对应网站的 SSL 设置或 Nginx 配置中完成。
还没添加过部署目标的话,可以按证书部署指南准备云账号凭证,再选择实际使用的云产品。
保存关联后,当前证书还要点一次推送
先添加云账号 API 凭证,再保存对应产品的部署目标。目标卡片上的“测试”或“测试连接”用于检查相关资源能否读取;测试通过不代表证书已经上传或替换。
接着打开“证书部署 → 关联与推送”,为证书勾选目标并保存。保存关联只保存设置。想把当前这张证书装到目标上,还需要点击“立即推送”,随后在证书详情查看部署记录。
勾选“自动”后,后续签发或重签得到的新版本才会自动推送;目标仍需启用,且证书有可用私钥。它也不会替您开启“自动换证”。如果需要系统在套餐内按条件提交换证申请,应到证书详情单独开启。
换完以后,怎么判断哪里还没处理好
浏览器仍显示旧证书,先回云控制台核对这个域名或 ESA 站点选用的证书和到期日。确认配置已生效后,重新打开网站查看;有多个加速域名,就分别检查。
浏览器证书已经正常,但网站返回 502,则要看云平台的回源错误和服务器日志。源站端口不通、证书过期、证书链不完整,或者网站程序出错,都可能影响访问。不能仅凭 502 就判断需要重新申请证书。
一台源站运行多个网站时,还要留意回源 Host 和 SNI:前者关系到请求哪个网站,后者关系到 HTTPS 连接时服务器选择哪张证书。应按实际回源域名配置,不能只把 Host 改对,就忽略证书仍属于另一个网站。
如果打算从 HTTP 回源改为 HTTPS,先让源站的 HTTPS 正常工作,再调整云平台设置。只是更换即将到期的边缘证书,而源站证书仍有效时,不必同时修改回源协议。把源站和云平台的到期日分别记下来,之后就不容易漏掉其中一张。