Letsencrypt ajoute un domaine au certificat existant [fermé]

122

J'essaie simplement d'ajouter le domaine test.example.comau certificat qui existe déjà pour example.com. Comment ajouter un domaine à mon certificat existant et remplacer l'ancien certificat?

J'ai essayé ces quelques commandes

./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

Résultat: tous deux ont créé un tout nouveau certificat dans un nouveau dossier test.example.com-0001

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

Résultat: le dossier d'erreur test.example.com existe déjà.

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

Résultat: erreur, je ne peux renouveler que si mon certificat est expiré.

Jeff Davenport
la source
1
Cette question a été rouverte sur Super User: superuser.com/questions/1432541/…
Mike Godin
1
À tous ceux qui consultent maintenant cette question: je recommanderais de jeter un œil à la réponse sur le superutilisateur . Il utilise certbot --expandce qui est plus proche de ce que cette question demande à imo
Jesse Reza Khorasanee

Réponses:

134

Vous devez spécifier tous les noms, y compris ceux déjà enregistrés.

J'ai utilisé la commande suivante à l'origine pour enregistrer certains certificats:

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

... et tout à l'heure, j'ai utilisé avec succès la commande suivante pour étendre mon enregistrement afin d'inclure un nouveau sous-domaine en tant que SAN:

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

De la documentation :

--expand "Si un certificat existant couvre un sous-ensemble des noms demandés, développez-le toujours et remplacez-le par les noms supplémentaires."

N'oubliez pas de redémarrer le serveur pour charger les nouveaux certificats si vous exécutez nginx.

Simon Hampel
la source
2
La commande a légèrement changé pourcertbot-auto certonly -a webroot ...
tsusanka
1
fonctionne-t-il pour le plugin autonome?
hjl
Lorsque j'utilise ce qui précède, cela crée un nouveau certificat tout seul, avec un -001à la fin.
KhoPhi
Ran it on production, expand ne semble pas nécessiter de temps d'arrêt visible. J'ai utilisé certbot-auto
Ray Foss
@ simon-hampel Lorsque le certificat SSL est développé, prolonge-t-il la date d'expiration pour tous les domaines définis dans la liste.
Ersin Demirtas
34

Voici comment j'ai enregistré mon domaine:

sudo letsencrypt --apache -d mydomain.com

Ensuite, il était possible d'utiliser la même commande avec des domaines supplémentaires et de suivre les instructions:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
embe
la source
3
Je viens de remplacer letsencryptavec ./certbot-autoet il fonctionne! La commande ./certbot-auto --nginx -d domain1.com,domain2.comdemande si je veux étendre le certificat existant et fait le travail.
George
1
Merci. Cela me fait gagner du temps. Je cours./letsencrypt-auto --debug -d new-domain.com -d new-alias.com
Nguyen Van Vinh
30

Apache sur Ubuntu , en utilisant le plugin Apache:

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

La commande ci-dessus est clairement expliquée dans le guide de l'utilisateur Certbot sur la modification des noms de domaine d'un certificat . Notez que la commande de modification des noms de domaine d'un certificat s'applique également à l'ajout de nouveaux noms de domaine.

Éditer

Si l'exécution de la commande ci-dessus vous donne le message d'erreur

Le client avec l'authentificateur actuellement sélectionné ne prend en charge aucune combinaison de défis qui satisfera l'autorité de certification.

suivez ces instructions de la communauté Let's Encrypt

che-azeh
la source
2
Il est probablement mentionné dans la documentation, mais si vous ajoutez simplement à l'existant, vous devez à nouveau ajouter le domaine existant - ou il sera supprimé
Rob
5

Vous pouvez remplacer le certificat en exécutant simplement à nouveau le certbot avec ./certbot-auto certonly

Vous serez invité avec ce message si vous essayez de générer un certificat pour un domaine que vous avez déjà couvert par un certificat existant:

-------------------------------------------------------------------------------
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?
-------------------------------------------------------------------------------

Il suffit de le choisir Expandet de le remplacer.

Ahmad
la source
5

J'ai pu configurer un certificat SSL pour un domaine ET plusieurs sous-domaines en utilisant --cert-namedes --expandoptions combinées .

Consultez la documentation officielle certbot-auto à l' adresse https://certbot.eff.org/docs/using.html

Exemple:

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
la source
4

cela a fonctionné pour moi

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
 domain.com -d www.domain.com
je ne sais rien
la source