腾讯云免费ssl证书申请和部署
前言
给子域名的网站添加ssl证书,开启https功能,故此记录。
证书申请
这里使用腾讯云的免费ssl证书,申请前需要有需要腾讯云账号和实名认证

证书签发要验证该域名是否是你在使用,这里选择的验证方式为手动DNS验证,域名不在同一平台下也能用,挺方便的。
填写相关信息后点提交即可进入域名验证环节。
手动DNS验证
手动DNS验证需要手动为域名添加一条类型为CNAME的DNS解析记录,记录的内容会在验证界面给出,如下所示。

添加完成后点击下方的“验证域名”按钮即可。
验证成功后需要等待审核,我的几分钟就通过了。验证完成后,用于验证的解析记录可以删除。
证书文件
在控制台中找到SSL证书页面,找到我的证书,选择对应的证书下载。
我使用的是Nginx部署,所以选择的服务器类型为Nginx。下载下来的证书文件里包含*.csr
、*.key
、*.crt
、*.pem
这四个文件,文件的含义如下:
文件名 | 说明 |
---|---|
*.csr | 证书签名请求(Certificate signing request),包含证书持有人的信息,如:国家,邮件,域名等信息。证书签发的时候用的,部署不需要。 |
*.key | 单独存放的 pem 格式的私钥文件。 |
*.crt | 证书文件,符合ITU-T X509国际标准的DER编码(ASCII)的证书文件格式,有可能是 PEM 编码,也有可能是DER编码,大多数应该是PEM编码,Linux 下叫 crt,Windows 下叫 cer,包含公钥以及与之相关的信息,用于验证服务器身份,并为客户端提供公钥用于加密通信。 |
*.pem | 证书文件,基于Base64编码的证书格式,扩展名包括pem、crt和cer,包含公钥以及与之相关的信息,用于验证服务器身份,并为客户端提供公钥用于加密通信。可以单独存放证书或密钥,也可以同时存放证书或密钥。 |
腾讯云下载的文件里*.crt
和*.pem
的文件内容是完全一样的,用哪个都行,这里用的是*.pem
。
部署
上传文件到服务器。上传*.key
和*.pem
(或者*.crt
)两个文件到服务器证书目录下,路径可以自定义,在Nginx配置文件中配置好就行。
修改Nginx配置,添加以下内容:
1 | server { |
验证配置是否有效:
nginx -t
更新配置:
nginx -s reload
HTTP自动跳转转HTTPS
在Nginx配置中添加以下内容,实现使用http访问80端口时自动重定向到使用https的443端口。
1 | server { |
参考
DNS验证: https://cloud.tencent.com/document/product/400/54500
Nginx 服务器 SSL 证书安装部署: https://cloud.tencent.com/document/product/400/35244