Skip to content

SSL 证书管理

  • 负载均衡需要接入客户的域名,使用的是多域名证书,通过letsencrypt申请,每三个月必须更新一次
  • guanmai域名使用的是泛域名证书,通过letsencrypt申请,每三个月必须更新一次

*.guanmai.cn 泛域名证书部署

第1步,申请证书

参考 https://www.jianshu.com/p/c5c9d071e395

  1. 连接 gate 机器
  2. 升级certbot: sudo pip3 install certbot --upgrade
  3. 查看版本 certbot —version
  4. 使用 certbot 申请证书
  5. 执行命令 sudo certbot certonly -d *.guanmai.cn -d guanmai.cn --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
  6. 根据 certbot 的要求,在腾讯云域名解析处将 _acme-challenge.guanmai.cn 改为特定的值
  7. 等待 600 秒
  8. 在另一个 shell 窗口执行 dig -t txt _acme-challenge.guanmai.cn @8.8.8.8,确保 _acme-challenge.guanmai.cn 的值已经成功改动
  9. 继续执行 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
  1. https://console.cloud.tencent.com/cdn/tools/certificate (CND / 高级工具 / 证书管理)
  2. 点「配置证书」
  3. 证书来源:自有证书
  4. 证书内容:复制 root@gate:/etc/letsencrypt/live/guanmai.cn/fullchain.pem 的内容
  5. 私钥内容:复制 root@gate:/etc/letsencrypt/live/guanmai.cn/privkey.pem 的内容
  6. 证书备注:"*.guanmai.cn YYYY-MM-DD"
  7. https://console.cloud.tencent.com/cdn/tools/certificate
  8. 点对应域名的 编辑 按钮
  9. 证书来源:腾讯云托管证书
  10. 证书列表:根据备注选择刚刚配置的证书
  11. 在 https://console.cloud.tencent.com/cdn/tools/certificate 查看域名证书部署状态,等待「证书状态」变成「配置成功」
  12. 在浏览器中使用 HTTPS 协议访问对应的域名,确定证书的有效期正确
  13. 配置海外加速域名的证书https://console.cloud.tencent.com/cdn/certificate_oversea

*.guanmaicfd.com 泛域名证书部署

和 *.guanmai.cn 类似,将 guanmai.cn 换成 guanmaicfd.com、gate 机器换成阿里云机器,其他步骤不变

多域名证书

  1. 负载均衡上将所有需要生成证书的域名/.well-known/路径转发到一台机器上,目前是 gate;
  2. 执行命令sudo certbot certonly --webroot -w /usr/share/nginx/html -d bshop.guanmai.cn -d bshop.nclrk.com -d xx将所有需要的域名以-d参数增加到命令后面;所有客户域名都要一次性地加进去。
  3. reload gate 的 nginx
  4. 更新负载均衡上的证书配置。「证书内容」复制 fullchain.pem,「密钥内容」复制 privkey.pem。