阿里云ECS更换SSL证书具体步骤
阿里云ECS更换SSL证书具体步骤

阿里云ECS更换SSL证书具体步骤

核心思路

申请新证书 → 备份原环境 → 替换证书文件 → 平滑重载Nginx → 多维度验证 

详细操作步骤 & 原理解析

第一步:获取新SSL证书

  1. 1.​​登录阿里云控制台​​ → 进入 ​​SSL证书控制台​​ 作用:统一管理证书避免遗漏到期时间
  2. 2.​​购买/续费证书​
    • •如有可用额度:点击「创建证书」选免费型DV SSL
    • •需付费证书:选择对应类型购买 注意:免费证书有效期3个月,付费证书1年
  3. 3.​​补全证书申请信息​- 域名:输入完整域名(如 `www.yoursite.com`) - 验证方式:推荐「DNS验证」 - 原理:在DNS解析中添加TXT记录证明域名所有权 - CSR生成:选择「系统生成」
  4. 4.​​完成域名验证​
    • •在域名解析控制台添加指定的TXT记录
    • •等待验证通过(通常5分钟内) 关键:_dnsauth开头的记录值必须准确复制

第二步:服务器环境准备

  1. 1.​​SSH登录服务器​ssh root@your_server_ip
  2. 2.​​定位Nginx证书目录​# 查找现有证书位置(通常在 /etc/nginx/ssl/) grep ssl_certificate /etc/nginx/sites-enabled/*.conf 输出示例:ssl_certificate /etc/nginx/ssl/fullchain.pem;
  3. 3.​​创建备份目录​mkdir /etc/nginx/ssl_backup_$(date +%F) cp -r /etc/nginx/ssl/* /etc/nginx/ssl_backup_$(date +%F)/ 作用:防止操作失误导致服务不可恢复

第三步:证书文件部署

  1. 1.​​下载新证书到服务器​
    • •在阿里云证书控制台下载Nginx格式证书
    • •解压得到两个文件:
      • xxx.pem(证书链文件)
      • xxx.key(私钥文件)
  2. 2.​​安全传输文件​# 使用SCP上传(本地终端执行) scp xxx.pem root@your_server_ip:/tmp/ scp xxx.key root@your_server_ip:/tmp/
  3. 3.​​移动证书到Nginx目录​mv /tmp/xxx.pem /etc/nginx/ssl/fullchain.pem mv /tmp/xxx.key /etc/nginx/ssl/private.key
  4. 4.​​设置严格权限​chmod 600 /etc/nginx/ssl/private.key # 私钥仅root可读写 chmod 644 /etc/nginx/ssl/fullchain.pem # 证书全局可读 原理:防止私钥泄露导致安全风险

第四步:Nginx服务重载

  1. 1.​​测试配置语法​nginx -t 预期输出:syntax is oktest is successful
  2. 2.​​平滑重启Nginx​systemctl reload nginx # 推荐!零停机重启 # 或 service nginx reload🔥 关键区别:
    • reload:热加载新配置,不断开现有连接
    • restart:强制重启导致短暂服务中断

第五步:全方位验证

  1. 1.​​本地OpenSSL验证​openssl s_client -connect your_domain:443 -servername your_domain | openssl x509 -noout -dates 检查输出中的 notAfter日期是否更新
  2. 2.​​在线工具验证​
    • •https://www.ssllabs.com/ssltest
    • •https://checktls.com/ 作用:验证证书链完整性+兼容性
  3. 3.​​浏览器强制刷新​
    • •Chrome访问:chrome://net-internals/#hsts
    • •清除域名的HSTS缓存

关键技术解析

  1. 1.​​证书链原理​graph LR A[你的证书] --> B[中间证书] B --> C[根证书]fullchain.pem= A + B 确保客户端可追溯信任链
  2. 2.​​热加载机制​
    • •Nginx master进程接收reload信号
    • •启动新worker加载新配置
    • •旧worker完成当前请求后退出
  3. 3.​​证书格式说明​​文件类型包含内容典型文件名证书文件公钥+主体信息domain.crt私钥文件加密用的密钥private.key证书链文件你的证书+中间证书fullchain.pem

遇到任何异常情况,立即执行回滚:

# 紧急回滚操作
cp /etc/nginx/ssl_backup_2023-01-01/* /etc/nginx/ssl/
systemctl reload nginx

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注