zl程序教程

您现在的位置是:首页 >  后端

当前栏目

跨腾讯云账号的SSL证书上传

SSL上传腾讯 证书 账号
2023-06-13 09:18:27 时间

背景

由于我们的运维环境方案是:为了降低多套运维环境的难度,我们使用一个腾讯云环境做为正式环境,一个腾讯云环境做开发和测试环境。而我们目前的所有域名都是以正式环境的腾讯云账号名义购买的,对于应用于测试环境的域名,如果要使用HTTPS访问,就涉及到SSL证书从正式环境腾讯云账号下载,然后上传到开发和测试环境腾讯云账号中。

本文主要讲述这个过程。

SSL证书下载

  1. 进入正式环境的腾讯云账号的控制台,选择**SSL证书** ( https://console.cloud.tencent.com/certoverview ),进入 我的证书 。可以看到所有的SSL证书列表。
腾讯云SSL证书
  1. 选择某个具体证书、点击下载
  1. 选择服务器类型中的** Nginx ** ,点击 下载。

以buzzfrog.cn域名为例,下载下来的包是:buzzfrog.cn_nginx.zip,解压后,有如下文件:

huyiyang@huyiyangdeMBP16 buzzfrog.cn_nginx % ls -lh
total 48
-rw-rw-rw-@ 1 huyiyang  staff   1.0K  4 12 08:09 buzzfrog.cn.csr
-rw-rw-rw-@ 1 huyiyang  staff   1.7K  4 12 08:09 buzzfrog.cn.key
-rw-rw-rw-@ 1 huyiyang  staff   4.0K  4 12 08:09 buzzfrog.cn_bundle.crt
-rw-rw-rw-@ 1 huyiyang  staff   4.0K  4 12 08:09 buzzfrog.cn_bundle.pem

SSL证书上传

  1. 进入开发和测试环境的腾讯云控制台,选择**SSL证书** ( https://console.cloud.tencent.com/certoverview

选择 我的证书、上传证书。

SSL证书上传
  1. 在上传证书弹出框中,

证书标准,选择 国际标准;

备注名,我的建议是域名,.换成_,例如buzzfrog_cn。

以buzzfrog.cn为例,

签名证书打开buzzfrog.cn_bundle.crt文件(证书格式以“-----BEGIN CERTIFICATE-----”开头,以“-----END CERTIFICATE-----”结尾。) 或 buzzfrog.cn_bundle.pem文件,将内容粘贴进来。

签名私钥打开buzzfrog.cn.key文件(私钥格式以“-----BEGIN (RSA) PRIVATE KEY-----”开头,以“-----END(RSA) PRIVATE KEY-----”结尾。),将内容粘贴进来。

以上两个文件都是通过命令行命令 vim 进行打开的。

上传证书

注意,如果填入的签名证书和签名私钥会做浏览器校验,校验成功,输入框后会有绿色对勾。

如果点击“确认”提交后,toast提示问题,可以通过网站 https://myssl.com/chain_download.html 进行证书链修复。

证书链修复
  1. 上传完成后,就可以在 腾讯云控制台-API网关-自定义域名 中,绑定 www.buzzfrog.cn 域名了。
腾讯云-API网关-新增自定义域名

需要注意的事

  1. 这里我在下载SSL阶段花了点时间,主要在选择哪种证书阶段上,最后在参考文档中发现只能选择Nginx的。另外,我在上传SSL证书阶段,有个SSL证书复制粘贴后,直接就成功了。但buzzfrog.cn的SSL证书复制粘贴不成功,需要在myssl网站中做证书链修复。
  2. 如果要在serverless.yml文件中绑定域名,则需要在inputs下做如下配置:
  # customDomains:
  #   - domain: buzzfrog.cn
  #     # 如要添加https,需先行在腾讯云-SSL证书进行认证获取certificateId
  #     certificateId: xxxxxx
  #     isForcedHttps: true # 是否强制https,如果为true,必须配置 certificateId (SSL证书 ID)
  #     # 如要设置自定义路径映射,请设置为 false
  #     isDefaultMapping: false
  #     pathMappingSet:
  #       - path: /
  #         environment: release
  #     protocols:
  #       - http
  #       - https

配置文档详见:https://github.com/serverless-components/tencent-apigateway/tree/master/docs/configure.md

参考文档

https://cloud.tencent.com/document/product/400/48790