免费SSL证书的更新流程

一. 引言
免费SSL证书现在叫做个人测试证书,个人开发者使用的应该不少,其实申请和部署起来倒也方便,但是有效期从12月变为3个月之后确实有点麻烦,而且当临近有期限大概20天左右就会发送提醒通知了,感觉就像是我刚刚部署,甚至都还没怎么使用呢就告诉我快要过期了,但是既然用了免费的稍微麻烦一点也是情有可原。
很多人创建一次之后往往就会把这个事儿抛之脑后了,今天我们就来详细聊一下关于免费SSL证书的更新流程,毕竟要使用的还挺频繁的。
二. 更新和重新部署步骤
更新的新的SSL倒也没有那么麻烦,没有必要提前20天操作,不然不相当于自己把3月的证书缩短成2个月了嘛。
2.1 续费
我们登陆阿里云之后,进入数字证书管理服务,SSL证书管理,找到即将过期的证书,会发现后面有一个续费按钮,点击续费按钮。它会提示免费证书不支持续费,需要重新创建证书。这样步骤就明了了,新建证书。
2.2 新建SSL证书
个人测试证书下面会有一个创建证书,点击创建证书,接着会有一个弹窗:

- 证书类型:选择个人测试证书(免费版)。
- 域名名称:输入你的要绑定的域名。
- 数量:就默认1个呗。
- 快速签发:建议直接勾选。
然后点击确定,很快就会进入等待签发状态,再过一会就会进入到已签发状态。
2.3 下载SSL证书
证书签发后,我们进入SSL证书管理的下载页,还是以Nginx为例。

下载下来会有包含适配Nginx的.pem和.key文件,不需要再进行额外的格式转换了。
2.4 上传证书到服务器并设置权限
咱们这次是更新文件嗷,所以呢在我们的服务器上应该已经有了一个文件夹来存储着两个文件。
这里我直接使用的FileZilla工具,在nginx/ssl文件夹下存放了我这两个文件。

出于安全考虑,公钥文件(.pem)可以对所有人可读,而私钥文件(.key)建议仅限 root 可读:
sudo chmod 644 /etc/nginx/ssl/your-domain.com.pem
sudo chmod 600 /etc/nginx/ssl/your-domain.com.key
2.5 检查配置
如果我们的服务器之前没有问题,那么配置应该都是OK的,可以直接检查配置。
sudo nginx -t会输入:
syntax is ok
test is successful
否则的话,我们需要更改配置,建议在 /etc/nginx/conf.d/ 下新建一个配置文件,例如:
sudo nano /etc/nginx/conf.d/drama.conf或者:
sudo vim /etc/nginx/conf.d/drama.conf然后再配置文件内写入配置信息,将下面的内容替换为你的域名和证书路径:
# 80 端口强制跳转到 HTTPS
server {listen 80;server_name your-domain.com;return 301 https://$host$request_uri;
}# 443 端口启用 HTTPS
server {listen 443 ssl;server_name your-domain.com;# SSL 证书配置ssl_certificate /etc/nginx/ssl/your-domain.com.pem;ssl_certificate_key /etc/nginx/ssl/your-domain.com.key;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;# 反向代理到 Spring Bootlocation / {proxy_pass http://127.0.0.1:8080; # 你的 Spring Boot 服务端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}
再次检查配置。
2.6 重载Nginx
执行重载:
sudo systemctl reload nginx这样新的 HTTPS 配置就会立即生效。
三. 结语
这次我特地把整个更新流程记录下来,希望下次能直接照着做,也让有类似需求的朋友少踩坑。其实只要理清思路、提前准备,SSL 更新一点也不复杂。
