Gitlab mit Let's Encrypt-Zertifikat: Aktualisieren Sie Ihren ACME-Client auf ACMEv2

8

Ich hatte Gitlab unter Ubuntu 14.04 installiert. Das Zertifikat "Let's Encrypt" konnte nicht erneuert werden. Ich habe Ubuntu auf 16.04 aktualisiert und dann apt-get update && apt-get upgrade, aber es scheint, dass der ACME-Client nicht auf v2 aktualisiert wurde, wodurch ich ein Zertifikat aktualisieren könnte. Wie kann ich ein Zertifikat aktualisieren?

gitlab-cli renew-le-certs 

Ergebnisse in:

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.
Spam
quelle
Hast du es versucht gitlab-ctl renew-le-certs?
Zeitounator
Ja, ein Fehler ist: letsencrypt_certificate [elenx.net] (letsencrypt :: http_authorization Zeile 3) hatte einen Fehler: Acme :: Client :: Error :: Unauthorized: acme_certificate [Staging] (/ opt / gitlab / embedded / cookbooks / cache) /cookbooks/letsencrypt/resources/certificate.rb Zeile 20) hatte einen Fehler: Acme :: Client :: Error :: Unauthorized: Die Kontoerstellung auf ACMEv1 ist deaktiviert. Aktualisieren Sie Ihren ACME-Client auf eine Version, die ACMEv2 / RFC 8555 unterstützt. Weitere Informationen finden Sie unter community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 .
Spam
Bitte posten Sie keine zusätzlichen Informationen in Kommentaren, sondern bearbeiten Sie stattdessen Ihre Frage.
Zeitounator
Sie haben Recht, ich habe es zur Frage hinzugefügt.
Spam
Während Sie gerade dabei sind, können Sie die Fehlermeldung auch in einem Codeblock korrekt
formatieren.

Antworten:

8

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

Interessantes Dilemma. Wir haben den ACME-Client in! 3420 (zusammengeführt) in GitLab 12.1 aktualisiert, aber Sie können kein Upgrade durchführen, bis Sie eine erfolgreiche Neukonfiguration erhalten.

Sie müssen also auf gitlab> = 12.1 aktualisieren

  1. Deaktivieren Sie letsencrypt: Suchen Sie nano /etc/gitlab/gitlab.rb ein paar Seiten weiter nach: letsencrypt['enable'] = trueund setzen Sie es auf falseSpeichern

  2. Aktualisieren Sie auf die neueste Version Ihrer Hauptversion apt-get upgrade gitlab-ee=11.11.8

  3. Lauf gitlab-ctl reconfigure

  4. Upgrade auf Gitlab 12 apt-get upgrade gitlab-ee

  5. Lauf gitlab-ctl reconfigure

  6. Starten Sie neu sudo reboot

  7. Kehre letsencrypt['enable'] = truezurück/etc/gitlab/gitlab.rb

  8. Lauf gitlab-ctl reconfigure

  9. Lauf gitlab-ctl renew-le-certs

Ryabchenko Alexander
quelle
1
Möglicherweise müssen Sie vor dem 11.11.8 zu einer Middle-Step-Version wechseln. Zum Beispiel: Ich musste zuerst auf 11.4.7-ee.0 und dann auf 11.11.8 aktualisieren. Sie können verfügbare Versionen auflisten mit: sudo apt list -a --upgradable
SpiRail
1

Ich hatte ein ähnliches Problem. Die von @Ryabchenko erwähnten Schritte sind perfekt.

Ich füge noch ein paar Schritte hinzu.

  • Entfernen Sie die alten Zertifikate aus / etc / gitlab / ssl / (nach Schritt Nr. 6 in der Antwort von @Ryabchenko)

  • Sie erhalten einen Fehler in Zeile 20. Wenn jemand in Zeile 25 einen Fehler erhält, ist dies der Fall

RuntimeError: acme_certificate [Staging]

Fügen Sie dann die folgende Zeile in gitlab.rb hinzu

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

Hinweis : Ich habe die detaillierten Schritte hier erwähnt: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4900#note_292031191

Manan Shah
quelle