Letsencrypt dodaj domenę do istniejącego certyfikatu [zamknięte]

122

Po prostu próbuję dodać domenę test.example.comdo certyfikatu, który już istnieje dla example.com. Jak dodać domenę do mojego istniejącego certyfikatu i wymienić stary certyfikat?

Wypróbowałem kilka poleceń

./letsencrypt-auto certonly --cert-path /etc/letsencrypt/archive/example.com --expand -d test.example.com

./letsencrypt-auto certonly -d example.com --expand -d test.example.com

Wynik: oba utworzyły zupełnie nowy certyfikat w nowym folderze test.example.com-0001

./letsencrypt-auto certonly --renew-by-default  --expand -d test.example.com

Wynik: folder błędów test.example.com już istnieje.

./letsencrypt-auto renew --expand -d orange.fidka.com

Wynik: błąd, mogę odnowić tylko wtedy, gdy mój certyfikat wygasł.

Jeff Davenport
źródło
1
To pytanie zostało ponownie otwarte w Super User: superuser.com/questions/1432541/…
Mike Godin
1
Każdemu, kto teraz przegląda to pytanie: poleciłbym zapoznać się z odpowiedzią na temat superużytkownika . Wykorzystuje certbot --expandto, co jest bliższe temu, o co imo zadaje to pytanie
Jesse Reza Khorasanee

Odpowiedzi:

134

Musisz podać wszystkie nazwy, w tym już zarejestrowane.

Pierwotnie użyłem następującego polecenia do zarejestrowania niektórych certyfikatów:

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--email [email protected] \
--expand -d example.com,www.example.com

... i właśnie teraz z powodzeniem użyłem następującego polecenia, aby rozszerzyć moją rejestrację o nową subdomenę jako sieć SAN:

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
--expand -d example.com,www.example.com,click.example.com

Z dokumentacji :

--expand "Jeśli istniejący certyfikat obejmuje jakiś podzbiór żądanych nazw, zawsze rozwijaj go i zastępuj dodatkowymi nazwami."

Nie zapomnij zrestartować serwera, aby załadować nowe certyfikaty, jeśli używasz nginx.

Simon Hampel
źródło
2
Polecenie zmieniło się nieznacznie nacertbot-auto certonly -a webroot ...
tsusanka
1
czy to działa dla samodzielnej wtyczki?
hjl
Kiedy używam powyższego, tworzy nowy certyfikat samodzielnie, z -001końcówką.
KhoPhi
Uruchomiono go na produkcji, rozbudowa nie wymaga widocznych przestojów. Użyłem certbot-auto
Ray Foss
@ simon-hampel Czy rozszerzanie certyfikatu SSL powoduje wydłużenie daty wygaśnięcia wszystkich domen zdefiniowanych na liście.
Ersin Demirtas
34

Oto jak zarejestrowałem swoją domenę:

sudo letsencrypt --apache -d mydomain.com

Wtedy można było użyć tego samego polecenia z dodatkowymi domenami i postępować zgodnie z instrukcjami:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
embe
źródło
3
Ja po prostu zastąpione letsencryptze ./certbot-autoi to działa! Polecenie ./certbot-auto --nginx -d domain1.com,domain2.compyta, czy chcę rozszerzyć istniejący certyfikat i wykonuje zadanie.
George
1
Dzięki. Oszczędza mój czas. Biegam./letsencrypt-auto --debug -d new-domain.com -d new-alias.com
Nguyen Van Vinh
30

Apache na Ubuntu , przy użyciu wtyczki Apache:

sudo certbot certonly --cert-name example.com -d m.example.com,www.m.example.com

Powyższe polecenie jest żywo wyjaśnione w przewodniku użytkownika Certbot dotyczącym zmiany nazw domen certyfikatów . Zauważ, że polecenie zmiany nazw domen certyfikatu dotyczy również dodawania nowych nazw domen.

Edytować

Jeśli uruchomienie powyższego polecenia spowoduje wyświetlenie komunikatu o błędzie

Klient z aktualnie wybranym wystawcą uwierzytelnienia nie obsługuje żadnej kombinacji wyzwań, które zadowalają urząd certyfikacji.

postępuj zgodnie z instrukcjami społeczności Let's Encrypt

che-azeh
źródło
2
Prawdopodobnie jest to wspomniane w dokumentacji, ale jeśli tylko dodajesz do istniejącej, musisz dodać istniejącą domenę ponownie - w przeciwnym razie zostanie ona usunięta
Rob
5

Możesz zastąpić certyfikat, po prostu uruchamiając certbot ponownie z ./certbot-auto certonly

Jeśli spróbujesz wygenerować certyfikat dla domeny, która została już objęta istniejącym certyfikatem, zostanie wyświetlony monit z następującym komunikatem:

-------------------------------------------------------------------------------
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/<domain>.conf)

It contains these names: <domain>

You requested these names for the new certificate: <domain>,
<the domain you want to add to the cert>.

Do you want to expand and replace this existing certificate with the new
certificate?
-------------------------------------------------------------------------------

Po prostu wybierz Expandi wymień.

Ahmad
źródło
5

Udało mi się skonfigurować certyfikat SSL dla domeny ORAZ wielu subdomen przy użyciu --cert-namepołączenia z --expandopcjami.

Zobacz oficjalną dokumentację certbot-auto na https://certbot.eff.org/docs/using.html

Przykład:

certbot-auto certonly --cert-name mydomain.com.br \
--renew-by-default -a webroot -n --expand \
--webroot-path=/usr/share/nginx/html \
-d mydomain.com.br \
-d www.mydomain.com.br \
-d aaa1.com.br \
-d aaa2.com.br \
-d aaa3.com.br
newx
źródło
4

to działało dla mnie

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
 domain.com -d www.domain.com
nic nie wiem
źródło