Erro ao instalar o LetsEncrypt SSL: (http-01): urn: acme: erro: conexão :: O servidor não pôde se conectar ao cliente para verificar o domínio

3

Estou tentando instalar LetsEncrypt no meu servidor (ao qual tenho acesso root SSH), para staging.dnslaude.com - que é um domínio publicamente acessível, apontando para 213.212.81.89 .

O servidor está executando ubuntu 16.04 e um nginx web-server. Abaixo está o nginx config:

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 o nginx config aparece para funcionar, pois eu coloquei manualmente um arquivo na pasta acme-challenge aqui .

No entanto, quando eu executo o comando:

letsencrypt certonly --webroot -w /path/to/webroot -d staging.dnslaude.com

Ele retorna o seguinte erro:

Failed authorization procedure. staging.dnslaude.com (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Could not connect to staging.dnslaude.com

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

Domain: staging.dnslaude.com Type: connection Detail: Could not connect to staging.dnslaude.com

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.

Eu segui o guia básico de configuração descrito aqui e tentei todos os tipos de variações de configuração, como as sugeridas aqui . No entanto, não consigo passar o erro acima - e não consigo ver nada em um arquivo de log para indicar a causa.

Alguma sugestão?

    
por Tom Lord 16.01.2017 / 16:50

3 respostas

6

Sua configuração do nginx parece correta.

Em um palpite, eu corri nmap contra seu domínio (desde que você o incluiu na sua pergunta); parece que você está atualmente filtrando a porta 80, então não há como o LetsEncrypt se conectar externamente e verificar.

Você precisará certificar-se de que a porta 80 esteja 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).

    
por 16.01.2017 / 18:18
1

Esse erro também pode ocorrer se você estiver redirecionando o desafio http-01 de http para https. O diretório conhecido / acme-challenge precisa estar acessível via http na porta 80.

    
por 03.04.2017 / 22:04
0

Eles ofuscar intencionalmente. Eu tive o mesmo erro 400 e comecei a descer a toca do coelho com a renovação novamente. Os tempos 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 obterá um novo) jar2

    
por 11.10.2018 / 15:11