一.场景
在用的ssl证书要过期了,申请了新的ssl证书下来,在nginx配置上更换上去后,打开系统地址,一依然是使用原来的旧证书,以前有更换过别的域名证书,重启nginx服务后立马就生效了。
这次没生效,看着旧证书还有几天才过期,想着有可能是要等到旧证书过期后,新证书会自动生效,等到了旧证书过期后再看新证书还是没生效,访问系统域名已经提示证书过期了。
二.寻找原因
网上搜索了一番,有很多种原因如:没有更新CND缓存、没清理浏览器缓存、没有更新域名缓存等等。。。但是我们的域名没有做CDN、ssl证书并不会走浏览器缓存验证、域名管理中也看了,没有看到ssl证书配置、缓存清理等操作。
最后想着是不是nginx配置文件修改不生效呢?于是给nginx配置文件制造一个错误,重启nginx服务,立即提示配置错误,服务启动失败。
之后将旧ssl证书删除,重启nginx服务依然还是使用旧的证书。
三.解决方案
将新的ssl证书放到一个新目录下(不放在旧证书同目录下)修改nginx的证书配置位置,重启服务,打开系统域名,新的证书生效了。
放到新目录cert2下
修改配置文件ssl证书路径
具体原因不知道,有可能是操作系统缓存问题,由于是生产环境服务器不敢随便重启系统,要是个人电脑,“重启大法”应该能够解决问题。