![Erro ao instalar LetsEncrypt SSL: (http-01): urn:acme:error:connection :: O servidor não conseguiu se conectar ao cliente para verificar o domínio](https://rvso.com/image/696997/Erro%20ao%20instalar%20LetsEncrypt%20SSL%3A%20(http-01)%3A%20urn%3Aacme%3Aerror%3Aconnection%20%3A%3A%20O%20servidor%20n%C3%A3o%20conseguiu%20se%20conectar%20ao%20cliente%20para%20verificar%20o%20dom%C3%ADnio.png)
estou tentando instalarLetsEncrypt
no meu servidor (ao qual tenho acesso root SSH), para staging.dnslaude.com
- que é um domínio acessível publicamente, apontando para 213.212.81.89
.
O servidor está em execução ubuntu 16.04
e um nginx
servidor web. Abaixo está a nginx
configuração:
server {
listen 80;
server_name staging.dnslaude.com;
root /path/to/webroot;
location ^~ /.well-known/acme-challenge/ {
try_files $uri $uri/ =404;
}
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
ssl on;
ssl_certificate /path/to/self/signed/certificate.crt;
ssl_certificate_key /path/to/key.key;
server_name staging.dnslaude.com;
root /path/to/webroot;
# ....
location ^~ /.well-known/acme-challenge/ {
try_files $uri $uri/ =404;
}
}
Você pode ver que a nginx
configuraçãoparecefuncionar, pois coloquei manualmente um arquivo na acme-challenge
pastaaqui.
Porém, quando executo o comando:
letsencrypt certonly --webroot -w /path/to/webroot -d staging.dnslaude.com
Ele retorna o seguinte erro:
Falha no procedimento de autorização. staging.dnslaude.com (http-01): urn:acme:error:connection :: O servidor não conseguiu se conectar ao cliente para verificar o domínio :: Não foi possível conectar a staging.dnslaude.com
NOTAS IMPORTANTES: - Os seguintes erros foram reportados pelo servidor:
Domínio: staging.dnslaude.com Tipo: conexão Detalhe: não foi possível conectar-se a staging.dnslaude.com
Para corrigir esses erros, certifique-se de que seu nome de domínio foi
inserido corretamente e que os registros DNS A desse domínio
contêm o(s) endereço(s) IP correto(s). Além disso, verifique se
o seu computador possui um endereço IP roteável publicamente e se nenhum
firewall está impedindo a comunicação do servidor com o
cliente. Se estiver usando o plug-in webroot, você também deve verificar
se está servindo arquivos do caminho webroot fornecido.
Eu segui o guia de configuração básica descritoaqui, e tentei todos os tipos de variações de configuração, como as sugeridasaqui. No entanto, não consigo superar o erro acima - e não consigo ver nada em um arquivo de log que indique a causa.
Alguma sugestão?
Responder1
Sua configuração do nginx parece correta.
Por palpite, corri nmap
contra o seu domínio (já que você o incluiu na sua pergunta); parece que você está filtrando a porta 80, então não há como o LetsEncrypt se conectar externamente e verificar.
Você precisará garantir que a porta 80 seja acessível externamente no firewall local do servidor em questão (bem como quaisquer ACLs que possam estar em vigor em um provedor vhost ou similar).
Responder2
Este erro também poderá ocorrer se você estiver redirecionando o desafio http-01 de http para https. O diretório .well-known/acme-challenge precisa estar acessível via http na porta 80.
Responder3
Eles ofuscam intencionalmente. Tive o mesmo erro 400 e comecei a descer pela toca do coelho com a renovação novamente. Nas vezes anteriores houve erros diferentes. Solução: Exclua os certificados anteriores do SSL gratuitamente e desinstale o certificado expirado do servidor. (Enquanto o certificado expirado ainda estiver configurado e ativo, você nunca receberá um novo) jar2