Permite adicionar domínio ao certificado existente [fechado]

122

Estou apenas tentando adicionar o domínio test.example.comao certificado que já existe example.com. Como adiciono um domínio ao meu certificado existente e substituo o certificado antigo?

Eu tentei esses poucos 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 criaram um novo certificado em uma nova pasta test.example.com-0001

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

Resultado: a pasta de erros test.example.com já existe.

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

Resultado: erro, só posso renovar se meu certificado expirar.

Jeff Davenport
fonte
1
Esta pergunta foi reaberta em Superusuário
Mike Godin
1
Para qualquer pessoa que esteja visualizando esta pergunta: eu recomendaria dar uma olhada na resposta sobre superusuário . Ele usa certbot --expando que é mais perto do que esta questão está pedindo imo
Jesse Reza Khorasanee

Respostas:

134

Você precisa especificar todos os nomes, incluindo aqueles já registrados.

Eu usei o seguinte comando originalmente para registrar alguns certificados:

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

... e agora usei com êxito o seguinte comando para expandir meu registro e incluir um novo subdomínio como uma SAN:

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

A partir da documentação :

--expand "Se um certificado existente cobrir algum subconjunto dos nomes solicitados, sempre expanda e substitua-o pelos nomes adicionais."

Não se esqueça de reiniciar o servidor para carregar os novos certificados se você estiver executando o nginx.

Simon Hampel
fonte
2
O comando mudou ligeiramente paracertbot-auto certonly -a webroot ...
tsusanka 11/11
1
funciona para plug-in autônomo?
Hjl
Quando uso o acima, ele cria um novo certificado por si só, com um -001no final.
KhoPhi
Executou na produção, a expansão não parece exigir nenhum tempo de inatividade visível. Eu usei certbot-auto
Ray Foss
@ simon-hampel Quando o Certificado SSL é expandido, ele estende a data de validade de todos os domínios definidos na lista.
Ersin Demirtas
34

Foi assim que registrei meu domínio:

sudo letsencrypt --apache -d mydomain.com

Em seguida, foi possível usar o mesmo comando com domínios adicionais e seguir as instruções:

sudo letsencrypt --apache -d mydomain.com,x.mydomain.com,y.mydomain.com
incorporar
fonte
3
Acabei de substituir letsencryptcom ./certbot-autoe funciona! Comando ./certbot-auto --nginx -d domain1.com,domain2.comperguntar se eu quero expandir o certificado existente e faz o trabalho.
George
1
Obrigado. Isso economiza meu tempo. Eu corro./letsencrypt-auto --debug -d new-domain.com -d new-alias.com
Nguyen Van Vinh
30

Apache no Ubuntu , usando o plugin Apache:

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

O comando acima é explicado com clareza no guia do usuário do Certbot sobre como alterar os nomes de domínio de um certificado . Observe que o comando para alterar os nomes de domínio de um certificado também se aplica à adição de novos nomes de domínio.

Editar

Se a execução do comando acima fornecer a mensagem de erro

O cliente com o autenticador selecionado atualmente não suporta nenhuma combinação de desafios que satisfaçam a CA.

siga estas instruções da Comunidade Let's Encrypt

che-azeh
fonte
2
Provavelmente é mencionado na documentação, mas se você está apenas adicionando a existente você precisa adicionar o domínio existente novamente - ou ele será removido
Rob
5

Você pode substituir o certificado executando apenas o certbot novamente com ./certbot-auto certonly

Você será solicitado com esta mensagem se tentar gerar um certificado para um domínio que você já tenha coberto por um 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?
-------------------------------------------------------------------------------

Basta escolher Expande substituí-lo.

Ahmad
fonte
5

Consegui configurar um SSL certificado para um domínio E vários subdomínios usando o uso --cert-namecombinado com as --expandopções.

Consulte a documentação oficial certbot-auto em https://certbot.eff.org/docs/using.html

Exemplo:

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

isso funcionou para mim

 sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d
 domain.com -d www.domain.com
Eu não sei de nada
fonte