O Certbot falha. Ativar o certificado Vamos criptografar em um novo servidor que substituirá o servidor de produção existente

4

Eu tenho um servidor da web nginx com um certificado SSL fornecido pelo Let's Encrypt usando o Certbot. Por exemplo, este site está disponível publicamente no link

Novo servidor
Estou criando um novo servidor que substituirá o servidor existente assim que tudo estiver configurado e implantado corretamente.

Eu quero que ele esteja disponível no link enquanto você configura tudo, e então no link assim que as aprovações forem atendidas.

O

link pode estar disponível agora, já que nenhum outro servidor veicula um site nesse subdomínio, mas example.com só funcionaria quando eu eventualmente atualizasse os registros DNS.

Eu preciso que o servidor web existente continue sem impacto até que o novo servidor esteja pronto.

Como posso criar um certificado SSL para o novo servidor, preparando-o para assumir o controle eventualmente?

Problema com a verificação do domínio
Quando executo o certbot, ele tenta acessar o link como parte da verificação, mas falha porque esse domínio aponta para o endereço IP do servidor existente.

Failed authorization procedure. example.com (tls-sni-01): urn:acme:error:tls :: The server experienced a TLS error during domain verification :: remote error: tls: handshake failure

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: example.com
Type: tls
Detail: remote error: tls: handshake failure

To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additionally, please check that you have an up-to-date TLS configuration that allows the server to communicate with the Certbot client.

Existe um processo apropriado para resolver isso, considerando o que estou tentando fazer?

    
por Turgs 11.12.2017 / 13:38

3 respostas

8

Tente usar um proxy reverso. Crie dois hosts virtuais em seu servidor antigo, que possui example.com e direcione beta.example.com para lá. O host virtual com beta.examply.com deve remover solicitações HTTPS e de proxy reverso para o servidor real via HTTP. Ambos os hosts virtuais usarão o mesmo certificado. Todos os Letsencrypt stull estarão no servidor antigo por enquanto.

Quando estiver pronto, copie o certificado para o novo servidor, atualize o DNS e aguarde que ele seja resolvido (pelo menos para os segundos do DNS TTL). Quando você vê todas as solicitações estão chegando ao novo servidor, você pode reverter as coisas ou apenas mover o material Letsencrypt e passar para o novo completamente.

    
por 11.12.2017 / 13:55
3

Você não pode usar beta.example.com para verificar um certificado Letsencrypt para o domínio example.com .

Você pode copiar os arquivos de certificado atuais do servidor que está executando example.com e colocá-los no servidor executando beta.example.com . Se você estiver em um sistema baseado em Linux, esses arquivos podem estar localizados na pasta /etc/pki/tls/certs/ .

    
por 11.12.2017 / 13:54
2

Além das outras respostas que recomendam a cópia do certificado para o novo servidor, você também deve copiar a configuração do certbot. Isso garantirá que seu processo de renovação continue funcionando conforme o esperado.

Para mim, esses arquivos estão em /etc/letsencrypt . Certifique-se de preservar permissões de arquivos e links simbólicos durante a cópia ( rsync -a ).

Lembre-se também de configurar os cronjobs ou o que você usa para renovar seus certificados. Depois de passar para o novo servidor, você pode testar o processo de renovação usando certbot renew --dry-run .

    
por 11.12.2017 / 17:55