Letsencrypt agregar dominio al certificado existente [cerrado]

122

Simplemente estoy tratando de agregar el dominio test.example.comal certificado que ya existe example.com. ¿Cómo agrego un dominio a mi certificado existente y reemplazo el certificado anterior?

He probado estos pocos comandos

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

Resultado: ambos crearon un certificado nuevo en una carpeta nueva test.example.com-0001

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

Resultado: la carpeta de error test.example.com ya existe.

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

Resultado: error, solo puedo renovar si mi certificado está vencido.

Jeff Davenport
fuente
1
Esta pregunta ha sido reabierta en Superusuario
Mike Godin
1
A cualquiera que esté viendo esta pregunta: Recomendaría echar un vistazo a la respuesta en superusuario . Usa certbot --expandcuál está más cerca de lo que esta pregunta está pidiendo en mi opinión
Jesse Reza Khorasanee

Respuestas:

134

Debe especificar todos los nombres, incluidos los que ya están registrados.

Usé el siguiente comando originalmente para registrar algunos certificados:

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

... y justo ahora utilicé con éxito el siguiente comando para expandir mi registro para incluir un nuevo subdominio como 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 documentación :

--expand "Si un certificado existente cubre algún subconjunto de los nombres solicitados, siempre expanda y reemplácelo con los nombres adicionales".

No olvide reiniciar el servidor para cargar los nuevos certificados si está ejecutando nginx.

Simon Hampel
fuente
2
El comando cambió ligeramente acertbot-auto certonly -a webroot ...
tsusanka
1
¿Funciona para un complemento independiente?
hjl
Cuando utilizo lo anterior, crea un nuevo certificado por sí mismo, con un -001al final.
KhoPhi
Lo ejecutó en producción, expandir no parece requerir ningún tiempo de inactividad visible. Usé certbot-auto
Ray Foss
@ simon-hampel Cuando se expande el Certificado SSL, ¿extiende la fecha de caducidad para todos los dominios que están definidos en la lista?
Ersin Demirtas
34

Así es como registré mi dominio:

sudo letsencrypt --apache -d mydomain.com

Luego fue posible usar el mismo comando con dominios adicionales y seguir las instrucciones:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
embe
fuente
3
Acabo de cambiar letsencryptcon ./certbot-autoy funciona! El comando ./certbot-auto --nginx -d domain1.com,domain2.compregunta si quiero expandir el certificado existente y hace el trabajo.
George
1
Gracias. Me ahorra tiempo. Corro./letsencrypt-auto --debug -d new-domain.com -d new-alias.com
Nguyen Van Vinh
30

Apache en Ubuntu , usando el complemento Apache:

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

El comando anterior se explica vívidamente en la guía del usuario de Certbot sobre cómo cambiar los nombres de dominio de un certificado . Tenga en cuenta que el comando para cambiar los nombres de dominio de un certificado también se aplica a la adición de nuevos nombres de dominio.

Editar

Si ejecutar el comando anterior le da el mensaje de error

El cliente con el autenticador seleccionado actualmente no admite ninguna combinación de desafíos que satisfagan a la CA.

siga estas instrucciones de la comunidad Let's Encrypt

che-azeh
fuente
2
Probablemente se mencione en la documentación, pero si solo está agregando un dominio existente, debe agregar el dominio existente nuevamente, o se eliminará
Rob
5

Puede reemplazar el certificado simplemente ejecutando el certbot nuevamente con ./certbot-auto certonly

Se le solicitará este mensaje si intenta generar un certificado para un dominio que ya ha cubierto por un certificado existente:

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

Simplemente elija Expandy reemplácelo.

Ahmad
fuente
5

Pude configurar un certificado SSL para un dominio Y varios subdominios usando el uso --cert-namecombinado con --expandopciones.

Consulte la documentación oficial de certbot-auto en https://certbot.eff.org/docs/using.html

Ejemplo:

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
fuente
4

esto funcionó para mí

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
 domain.com -d www.domain.com
no se nada
fuente