SSL证书主要用于建立Web服务器和客户端间可信的HTTPS协议加密链接,以防止数据在传输过程中被篡改,避免信息泄露。阿里云提供了多种品牌和类型的SSL证书,以满足不同用户的需求。您可以根据自己的预算、域名类型以及网站类型,选择购买适合的SSL证书。
具体可参考官方文档:https://help.aliyun.com/zh/ssl-certificate/user-guide/purchase-an-ssl-certificate?spm=0.2020520163.help.dexternal.528dlvr9lvr9DS
本文章只记录一些个人操作的关键点
证书申请
免费证书的入口如下图所示:
需要先创建证书,然后等待审核。如果是阿里云自己的域名,可以自动审核域名dns
证书部署
Nginx或Tengine服务器配置SSL证书官网文档:https://help.aliyun.com/zh/ssl-certificate/user-guide/install-ssl-certificates-on-nginx-servers-or-tengine-servers?spm=0.2020520163.help.dexternal.528dlvr9lvr9DS#concept-n45-21x-yfb
需要先下载nginx的凭证文件 .pem 和 .key 文件到服务器。
先下载到本地,再scp传输到服务器。具体命令是:
scp ./name.domain.cn.pem root@192.168.1.100:/root/
scp ./name.domain.cn.key root@192.168.1.100:/root/
nginx相应的配置是:
server {
#HTTPS的默认访问端口443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
listen 443 ssl;
#填写证书绑定的域名
server_name <yourdomain>;
#填写证书文件绝对路径
ssl_certificate cert/<cert-file-name>.pem;
#填写证书私钥文件绝对路径
ssl_certificate_key cert/<cert-file-name>.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
具体的内容请参考官网文档。这里只是大概记录一下