CNAME SSL 证书说明
一句话版:用自己域名(CNAME)上 HTTPS,就像给自家招牌 配一把"带防伪钢印的钥匙"——浏览器认的就是它。把 nginx 在用的那份证书传上来,内网云帮你保管和分发。
一、为什么需要自己管证书
- 用平台隧道域名访问时,平台自带泛域名证书,开箱即用,你什么都不用做;
- 用自己的 CNAME 域名访问时,域名不在平台泛域名覆盖里,得给它配证书,两条路:
- 平台按需签发/托管证书(默认链路自动处理);
- 你手上已有证书(商业证书、别处签的、nginx 正在用的),在证书管理页传上来绑定,由平台分发启用。
本文讲第 2 种:手动传证书。别慌,3 步搞定。
二、nginx 格式证书长什么样
很多同学的证书是从自己的 nginx 服务器里"拷"出来的,通常是一对文件:
| 文件 | 在 nginx 里的角色 | 里面装的 |
|---|---|---|
xxx.crt 或 xxx.pem | ssl_certificate | 证书本体,以 -----BEGIN CERTIFICATE----- 开头 |
xxx.key | ssl_certificate_key | 私钥,以 -----BEGIN PRIVATE KEY----- 或 -----BEGIN RSA PRIVATE KEY----- 开头 |
在 nginx 配置里大概长这样:
server {
listen 443 ssl;
server_name yourname.com;
ssl_certificate /etc/nginx/ssl/yourname.crt; # ← 证书
ssl_certificate_key /etc/nginx/ssl/yourname.key; # ← 私钥
}
上传时就找这两个文件:把 .crt/.pem 的内容贴到"证书内容",把 .key 的内容贴到"私钥"。两个文件都是纯文本(-----BEGIN ... ----- 这种),可以直接用文本编辑器打开复制。
小提示:如果你的证书带了证书链(CA 证书),nginx 一般会把链拼在
.crt文件里——那就整份复制上传,没错。
三、上传证书并绑定隧道
- 进入证书管理页面;
- 上传证书,填写:
- 证书域名:必须与隧道里填的 CNAME 一致(比如 CNAME 是
yourname.com,证书也得是它); - 证书内容:
.crt/.pem的全部内容(含-----BEGIN CERTIFICATE-----那几行); - 私钥:
.key的全部内容;
- 证书域名:必须与隧道里填的 CNAME 一致(比如 CNAME 是
- 在证书列表找到刚传的证书,点绑定到隧道,选对应隧道。
页面提示:证书域名必须与隧道 CNAME 对应。绑定后证书自动分发到隧道所在集群的数据端。
绑定成功后 https://你的CNAME域名 就能正常访问,浏览器不再翻脸。
四、解除绑定与更换证书
- 换证书:传新的,重新绑定,覆盖旧的;
- 解绑:在证书管理页对已绑定的证书解除,之后该域名 HTTPS 不再用这份证书;
- 防过期:证书有过期时间,提前续期上传,否则到期那天浏览器直接给你甩"不安全"警告,客人全跑光。
五、工作原理:证书只在大门口用一次
上传证书 + 绑定隧道(域名与 CNAME 匹配)
│ 证书随隧道配置同步分发到节点
▼
网关保存证书
│ 用户 https 访问你的 CNAME 域名
▼
网关按域名匹配证书 → 完成 TLS 握手 → 再沿隧道转发到内网
证书只在入口握手这一下使用。你的内网服务完全可以是 HTTP——对外加密、对内明文,加解密的体力活由平台干,内网服务岁月静好。
六、注意事项
- 证书域名与 CNAME 域名必须一致(或证书是匹配它的通配证书),不一致 = 握手证书校验失败,浏览器直接拒绝;
- 上传时把
-----BEGIN ... -----完整块带上,缺了行首行尾标记会解析失败; - 私钥泄露 = 大门钥匙被复制 ,务必保管好
.key文件; - 换证书后稍等同步完成再访问,别急着连续刷新。
记住内网云:证书是招牌的钢印,crt 是证书、key 是钥匙;一对文件传上来,HTTPS 稳得一批。