准备工作
- 获取新证书 - 你需要从一个可信任的证书颁发机构(CA)获取新的SSL/TLS证书。这可能包括生成一个新的CSR(证书签名请求),然后使用该CSR从CA获取新的证书文件。
- 安装证书 - 一旦你收到了新的证书,将其保存到Nginx配置中指定的位置。通常情况下,这些文件会被保存在/etc/nginx/ssl/目录下或者类似的路径中。
更新Nginx配置
- 编辑Nginx配置文件 - 打开你的Nginx服务器块配置文件,在其中找到与SSL相关的部分。确保更新证书和私钥的路径指向新证书文件的位置。
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/newcert.crt; # 更新为新证书路径
ssl_certificate_key /etc/nginx/ssl/newcert.key; # 更新为新私钥路径
# 其他配置...
}
- 检查配置 - 在你进行任何重启操作之前,使用nginx -t命令检查配置文件是否正确无误。这可以帮助你避免因配置错误而导致的服务中断。
sudo nginx -t
如果一切正常,你应该会看到类似下面的信息:
浅色版本
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启Nginx服务
- 平滑重启Nginx - 使用nginx -s reload命令来尝试平滑地重启Nginx,这将不会导致服务中断。
sudo nginx -s reload
如果因为某些原因无法平滑重启,你也可以直接停止并重新启动Nginx服务:
sudo systemctl stop nginx
sudo systemctl start nginx
验证配置
- 验证SSL证书 - 访问你的网站以确认新证书已被正确应用,并且所有功能都能正常工作。你可以使用在线工具如SSL Labs的SSL Test来测试你的证书配置。
注意事项
- 确保备份旧的证书文件以及Nginx配置文件,以防需要回滚到之前的设置。
- 检查证书是否正确地包含所有必要的域(包括子域)。
- 如果你在使用自动续订脚本(例如与Let's Encrypt结合使用的脚本),记得更新脚本中的证书路径或相关参数。