3

几周前,我安装了一个新的 ssl 证书来替换一个即将到期的证书。.crt 和 .key 的文件名保持不变。只是内容变了。

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

的输出gitlab-ctl status

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

的输出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

这些关键消息每 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/'
4

2 回答 2

1

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

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

openssl x509 -inform pem -in cerfile.cer -noout -text
于 2017-10-24T05:35:15.353 回答
1

证书在网络服务器启动时加载,因此您需要在更新它们时重新加载/重新启动。

于 2016-11-28T22:39:16.710 回答