使用Let's Encrypt证书的Gitlab:将您的ACME客户端升级到ACMEv2

时间:2019-11-11 10:42:55

标签: gitlab ssl-certificate

我在Ubuntu 14.04上安装了Gitlab。无法续订我们的加密证书。我已经将Ubuntu升级到16.04,然后进行apt-get update和&& apt-get upgrade升级,但是看来它没有将ACME客户端升级到v2,这使我可以更新证书。如何更新证书?

gitlab-cli renew-le-certs 

导致:

letsencrypt_certificate[elenx.net] (letsencrypt::http_authorization
line 3) had an error: Acme::Client::Error::Unauthorized:
acme_certificate[staging]
(/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb
line 20) had an error: Acme::Client::Error::Unauthorized: Account
creation on ACMEv1 is disabled. Please upgrade your ACME client to a
version that supports ACMEv2 / RFC 8555. See
https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430
for details.

2 个答案:

答案 0 :(得分:7)

https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4614#note_232009029

  

有趣的困境。我们已经在!3420(合并)中升级了ACME客户端   在GitLab 12.1中,但是您无法升级,直到获得   重新配置成功。

所以您需要升级到gitlab> = 12.1

  1. 关闭letsencrypt:nano /etc/gitlab/gitlab.rb 向下几页查找:letsencrypt['enable'] = true并将其设置为false然后保存

  2. 升级到主要版本的最新版本 apt-get upgrade gitlab-ee=11.11.8

  3. 运行gitlab-ctl reconfigure

  4. 升级到Gitlab 12 apt-get upgrade gitlab-ee

  5. 运行gitlab-ctl reconfigure

  6. 重新启动sudo reboot

  7. letsencrypt['enable'] = true中返回/etc/gitlab/gitlab.rb

  8. 运行gitlab-ctl reconfigure

  9. 运行gitlab-ctl renew-le-certs

答案 1 :(得分:1)

我遇到了类似的问题。 @Ryabchenko提到的步骤是完美的。

我要添加一些其他步骤。

  • / etc / gitlab / ssl / 中删除旧证书(在@Ryabchenko回答的第6步之后)

  • 您在lin 20中遇到错误。如果有人在第25行上发现错误

RuntimeError:acme_certificate [staging]

然后在gitlab.rb中添加以下行

nginx['custom_gitlab_server_config'] = "location /.well-known/acme-challenge/ {\n root /var/opt/gitlab/nginx/www/; \n}\n" 

注意:我在这里提到了详细步骤:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4900#note_292031191