1、阿里云创建购买ssl证书
本方案为阿里云个人测试证书(免费版)方式购买SSL证书。每年20个,每个3个月
领取个人测试证书(免费版):
登录数字证书管理服务控制台。
在左侧导航栏,选择证书管理 > SSL证书管理。
在个人测试证书(原免费证书)页签,单击立即购买。按以下参数配置并勾选服务协议,单击立即购买并完成支付。

重要
个人测试证书(免费版)领取后不支持取消订单。
创建个人测试证书:
在SSL证书管理页面,单击创建证书,按以下配置完成证书创建。
按照验证信息中的提示,完成域名所有权的验证。
域名所有权验证成功后,证书通常会在1~15分钟(平均时长)完成签发。证书签发后,证书状态将变更为已签发。如果SSL证书长时间未签发,请您检查DNS验证配置是否正确。更多关于域名所有权证书说明,请参见域名所有权验证。



登录云解析DNS控制台。
在左侧导航栏单击公网DNS解析 > 权威域名解析,在域名列表中找到目标域名,单击右侧操作列中解析设置。
在域名解析设置页签中点击添加记录,填写域名解析信息,然后单击确认。
数字证书管理服务已经将您的SSL证书自动转换成适用于不同服务器的格式并压缩。PEM是基于Base64编码的比较通用的证书文件格式,可直接查看文本,常用在Nginx等大多数服务器或应用程序中。
在数字证书管理服务控制台左侧导航栏,选择证书管理 > SSL证书管理。
在SSL证书管理页面,定位到目标证书,在操作列,单击更多,然后选择下载页签。
在服务器类型为Nginx的操作列,单击下载。
将下载完成的证书进行解压,解压后证书文件包含两个文件:
证书文件(PEM格式):默认以
证书绑定域名.pem命名。私钥文件(KEY格式):默认以
证书绑定域名.key命名。
2、nginx部署
将下载的密钥放置位置为
/etc/nginx/ssl/www.yanchang.xyz.pem
/etc/nginx/ssl/www.yanchang.xyz.key具体操作(注意权限问题)
sudo mkdir -p /etc/nginx/ssl
sudo cp www.yanchang.xyz.pem /etc/nginx/ssl/
sudo cp www.yanchang.xyz.pem /etc/nginx/ssl/
sudo chmod 600 /etc/nginx/ssl/*
首先下载安装nginx
sudo apt update
sudo apt install nginx -y配置 Nginx
编辑配置文件(新建一个站点配置):
sudo vim /etc/nginx/sites-available/halo.confserver {
listen 8091 ssl http2;
server_name www.yanchang.xyz;
ssl_certificate /etc/nginx/ssl/www.yanchang.xyz.pem;
ssl_certificate_key /etc/nginx/ssl/www.yanchang.xyz.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8090; # Halo 的端口
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;
}
}启用配置
sudo ln -s /etc/nginx/sites-available/halo.conf /etc/nginx/sites-enabled/
sudo nginx -t # 检查配置有没有写错
sudo systemctl reload nginx放行端口
sudo ufw allow 8091
sudo ufw allow 8090
如果以后证书要更新(比如有效期只有 1 年),只需要覆盖新的 .pem 和 .key 文件,然后执行:
sudo nginx -s reload
就能立即生效,不用重启服务。
# 启动 Nginx
sudo systemctl start nginx
# 停止 Nginx
sudo systemctl stop nginx
# 重启 Nginx
sudo systemctl restart nginx
# 平滑重载配置(不中断服务)
sudo systemctl reload nginx
# 查看状态
sudo systemctl status nginx
# 启动 Nginx(前台启动)
sudo nginx
# 停止 Nginx
sudo nginx -s stop
# 优雅停止(处理完现有请求再退出)
sudo nginx -s quit
# 重启 = 停止 + 启动
sudo nginx -s stop && sudo nginx
# 平滑重载配置(常用)
sudo nginx -s reload