2016-11-28 73 views
2

几个星期前,我安装了一个新的SSL证书来替换即将到期的SSL证书。 .crt和.key的文件名保持不变。只有内容改变了。旧SSL证书在续订后仍在服务

现在,当我去我的网站它说证书已过期,我看到它正在使用旧的证书链。我可以确认crt和key的内容是更新的。

gitlab-ctl status输出这些关键消息的gitlab-ctl tail nginx

2016/11/28 21:26:20 [crit] 6852#0: *13180076 SSL_shutdown() failed (SSL: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init) while SSL handshaking, client: 55.108.238.72, server: 0.0.0.0:443 
2016/11/28 21:26:23 [crit] 6852#0: *13180077 SSL_shutdown() failed (SSL: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init) while SSL handshaking, client: 55.108.238.72, server: 0.0.0.0:443 

run: gitlab-workhorse: (pid 30354) 18091s; run: log: (pid 15271) 21131317s 
run: logrotate: (pid 7332) 91s; run: log: (pid 30308) 21128931s 
run: mailroom: (pid 30436) 18060s; run: log: (pid 15266) 21131317s 
run: nginx: (pid 3586) 1761s; down: log: 0s, normally up, want up 
run: postgresql: (pid 30446) 18059s; run: log: (pid 10566) 13738330s 
run: redis: (pid 30448) 18059s; run: log: (pid 10696) 13738292s 
run: sidekiq: (pid 30463) 18057s; run: log: (pid 15264) 21131317s 
run: unicorn: (pid 30487) 18053s; run: log: (pid 15267) 21131317s 

输出发生每3秒。

我已经重新启动了nginx进程,但它什么也没做。我也跑了gitlab-ctl reconfigure但无济于事。我的/etc/gitlab/gitlab.rb文件没有更改。它仍然有nginx的SSL路径

nginx['ssl_certificate'] = "/etc/pki/tls/certs/sitename.com.crt" 
nginx['ssl_certificate_key'] = "/etc/pki/tls/private/sitename.com.key" 

而且它还具有external_url

external_url 'https://sitename.com/' 
+0

有没有可能是别人再certed呢?与您的提供商检查日期,并将其与您网站上显示的内容进行比较。良好的IE浏览器在向你显示你的证书信息方面做得很好。 – bougiefever

+0

我联系了我的证书提供商并确认了所有信息是正确的 – Austin

+0

您是否得到了此解决方案?我在Debian上的nginx做的是一样的 – peteroak

回答

0

证书加载web服务器启动时,所以你需要更新时,他们重新加载/重启。

+0

我的帖子提到我已经重启了nginx进程 – Austin

+0

你使用反向代理吗,还是直接暴露gitlab nginx服务器? –

+0

没有反向代理。这是直接的 – Austin

0

Nginx将检查/etc/nginx/conf.d目录中以.conf结尾的文件以获取其他配置。因此,请检查您是否创建了一个名为ssl.conf的文件,并在其中配置了新的SSL证书。

请运行以下命令来检查证书验证:

openssl x509 -inform pem -in cerfile.cer -noout -text