SSL 证书管理
- 负载均衡需要接入客户的域名,使用的是多域名证书,通过letsencrypt申请,每三个月必须更新一次
- guanmai域名使用的是泛域名证书,通过letsencrypt申请,每三个月必须更新一次
*.guanmai.cn 泛域名证书部署
第1步,申请证书
参考 https://www.jianshu.com/p/c5c9d071e395
- 连接 gate 机器
- 升级certbot:
sudo pip3 install certbot --upgrade
- 查看版本 certbot —version
- 使用 certbot 申请证书
- 执行命令 sudo certbot certonly -d *.guanmai.cn -d guanmai.cn --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
- 根据 certbot 的要求,在腾讯云域名解析处将 _acme-challenge.guanmai.cn 改为特定的值
- 等待 600 秒
- 在另一个 shell 窗口执行
dig -t txt _acme-challenge.guanmai.cn @8.8.8.8
,确保 _acme-challenge.guanmai.cn 的值已经成功改动 - 继续执行 certbot 程序
certbot 会把证书和私钥分别放在下面的位置:
rote@gate.guanmai.cn:/etc/letsencrypt/live/guanmai.cn/fullchain.pem
rote@gate.guanmai.cn:/etc/letsencrypt/live/guanmai.cn/privkey.pem
第2步,部署gate机器上的域名,进行测试是否正常
trace.guanmai.cn
重启 gate 机器的 nginx,使用浏览器访问上面的域名,确定证书生效
第3步,部署home机器上的域名
doc.guanmai.cn
miniapp.guanmai.cn
static.guanmai.cn
document.guanmai.cn
fe.guanmai.cn
www.guanmai.cn
guanmai.cn
将 gate 机器上的域名 fullchain.pem、privkey.pem 内容分别复制到 home 机器的 /etc/nginx/ca/guanmai.cn.crt 和 /etc/nginx/ca/guanmai.cn.key
sudo chmod 644 guanmai.cn.crt
sudo chmod 644 guanmai.cn.key
重启 home 机器的 nginx,使用浏览器访问上面的域名,确定证书生效
第4步,部署A-sea-nginx-01机器上的域名
static.guanmai.cn
js.guanmai.cn
station.guanmai.cn
bshop.guanmai.cn
manage.guanmai.cn
trace.guanmai.cn
将 gate 机器上的域名 fullchain.pem、privkey.pem 内容分别复制到 A-sea-nginx-01 机器的 /etc/nginx/ca/guanmai.cn.crt 和 /etc/nginx/ca/guanmai.cn.key
重启 A-sea-nginx-01 机器的 nginx,配置hosts将域名指向A-sea-nginx-01的公网IP,使用浏览器访问上面的域名,确定证书生效
第5步,部署腾讯云
img.guanmai.cn
js.guanmai.cn
file.guanmai.cn
- https://console.cloud.tencent.com/cdn/tools/certificate (CND / 高级工具 / 证书管理)
- 点「配置证书」
- 证书来源:自有证书
- 证书内容:复制 root@gate:/etc/letsencrypt/live/guanmai.cn/fullchain.pem 的内容
- 私钥内容:复制 root@gate:/etc/letsencrypt/live/guanmai.cn/privkey.pem 的内容
- 证书备注:"*.guanmai.cn YYYY-MM-DD"
- https://console.cloud.tencent.com/cdn/tools/certificate
- 点对应域名的 编辑 按钮
- 证书来源:腾讯云托管证书
- 证书列表:根据备注选择刚刚配置的证书
- 在 https://console.cloud.tencent.com/cdn/tools/certificate 查看域名证书部署状态,等待「证书状态」变成「配置成功」
- 在浏览器中使用 HTTPS 协议访问对应的域名,确定证书的有效期正确
- 配置海外加速域名的证书https://console.cloud.tencent.com/cdn/certificate_oversea
*.guanmaicfd.com 泛域名证书部署
和 *.guanmai.cn 类似,将 guanmai.cn 换成 guanmaicfd.com、gate 机器换成阿里云机器,其他步骤不变
多域名证书
- 负载均衡上将所有需要生成证书的域名/.well-known/路径转发到一台机器上,目前是 gate;
- 执行命令
sudo certbot certonly --webroot -w /usr/share/nginx/html -d bshop.guanmai.cn -d bshop.nclrk.com -d xx
将所有需要的域名以-d参数增加到命令后面;所有客户域名都要一次性地加进去。 - reload gate 的 nginx
- 更新负载均衡上的证书配置。「证书内容」复制 fullchain.pem,「密钥内容」复制 privkey.pem。