前置条件:
(1)域名已经获取到签发的SSL证书,获取方法在此不再赘述。阿里云、腾讯云等平台都有免费或者收费的SSL证书可以申请
(2)服务器的SSH端口已经开启,一般默认是22。此端口用于远程连接操作服务器,一般情况下不能直接接触到物理服务器,当然能接触到不用开启此端口。
(3)文件连接端口,通常使用FTP(21端口)或者SFTP(22端口),通过此方式上传新的证书文件。注意,如果无法通过上传新证书的方式,可以基于SSH连接,通过vi文本编辑器,替换文本内容实现证书更新。
修改步骤:
1.来到服务器的此位置(这里是默认位置,这里找不到的话可以用find命令找找,如:find. -name '*nginx*',即查找本目录下名称包含nginx的文件夹或文件),可以查看到nginx.conf配置文件。这一步是为了查看SSL证书的存放位置以及文件名称,有运维手册的可以跳过这步,不确定或者不知道的可以看这个配置文件。
2.打开nginx.conf配置文件,可以看到
cert/full_chain.pem和cert/private.key是证书需要的文件,一个是证书,一个是秘钥
3.来到cert文件夹下,可以看到这两个文件,将其拉到本地进行备份
4.下载我们在证书申请平台获得的证书,如下是在阿里云中申请的,选择自己对应的服务器类型进行下载,本服务器部署的代理为nginx
下载内容:
5.将此处下载的证书和秘钥修改名称,按照旧证书的名称命名,然后上传替换原先老文件 。如果无法通过上传新证书的方式,通过vi文本编辑器,将新下载的证书和秘钥的内容替换到full_chain.pem和private.key这两个文件中。
6.然后回到服务器中
运行systemctl restart nginx,重启nginx以加载新的证书。
然后使用systemctl status nginx查看服务状态,以确保服务正常启动
7.重启nginx后可以到浏览器中验证证书是否生效
可以看到到期时间已经更新