Fehler bei der Installation von LetsEncrypt SSL: (http-01): urn:acme:error:connection :: Der Server konnte keine Verbindung zum Client herstellen, um die Domäne zu verifizieren

Fehler bei der Installation von LetsEncrypt SSL: (http-01): urn:acme:error:connection :: Der Server konnte keine Verbindung zum Client herstellen, um die Domäne zu verifizieren

Ich versuche zu installierenLetsEncryptauf meinem Server (für den ich Root-SSH-Zugriff habe) für staging.dnslaude.com–, wobei es sich um eine öffentlich zugängliche Domäne handelt, die auf verweist 213.212.81.89.

Der Server läuft ubuntu 16.04und es gibt einen nginxWebserver. Unten ist die nginxKonfiguration:

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;
  }
}

Sie können sehen, dass die nginxKonfigurationerscheintzu arbeiten, da ich manuell eine Datei in den acme-challengeOrdner gelegt habeHier.

Wenn ich jedoch den Befehl ausführe:

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

Es wird der folgende Fehler zurückgegeben:

Autorisierungsvorgang fehlgeschlagen. staging.dnslaude.com (http-01): urn:acme:error:connection :: Der Server konnte keine Verbindung zum Client herstellen, um die Domäne zu überprüfen :: Verbindung zu staging.dnslaude.com konnte nicht hergestellt werden

WICHTIGE HINWEISE: - Die folgenden Fehler wurden vom Server gemeldet:

Domäne: staging.dnslaude.com Typ: Verbindung Detail: Verbindung zu staging.dnslaude.com konnte nicht hergestellt werden

Um diese Fehler zu beheben, stellen Sie bitte sicher, dass Ihr Domänenname
richtig eingegeben wurde und die DNS-A-Einträge für diese Domäne
die richtige IP-Adresse enthalten. Überprüfen Sie außerdem, ob
Ihr Computer eine öffentlich routbare IP-Adresse hat und dass keine
Firewalls die Kommunikation des Servers mit dem Client verhindern
. Wenn Sie das Webroot-Plugin verwenden, sollten Sie auch überprüfen,
ob Sie Dateien aus dem von Ihnen angegebenen Webroot-Pfad bereitstellen.

Ich habe die grundlegende Installationsanleitung befolgtHierund habe alle möglichen Konfigurationsvarianten ausprobiert, wie die vorgeschlagenenHier. Ich komme jedoch nicht über den obigen Fehler hinweg und kann in der Protokolldatei nichts finden, was auf die Ursache hinweist.

Irgendwelche Vorschläge?

Antwort1

Ihre Nginx-Konfiguration sieht korrekt aus.

Ich habe eine Ahnung, dass ich nmapauf Ihre Domäne gestoßen bin (da Sie diese in Ihrer Frage erwähnt haben). Es sieht so aus, als würden Sie derzeit Port 80 filtern, sodass LetsEncrypt keine Möglichkeit hat, eine externe Verbindung herzustellen und die Überprüfung durchzuführen.

Sie müssen sicherstellen, dass Port 80 in der lokalen Firewall des betreffenden Servers (sowie in allen ACLs, die möglicherweise bei einem VHost-Anbieter o. Ä. vorhanden sind) extern zugänglich gemacht wird.

Antwort2

Dieser Fehler kann auch auftreten, wenn Sie die http-01-Challenge von http auf https umleiten. Das Verzeichnis .well-known/acme-challenge muss über http auf Port 80 erreichbar sein.

Antwort3

Sie verschleiern absichtlich. Ich hatte denselben 400-Fehler und begann erneut mit der Erneuerung. Die vorherigen Male gab es andere Fehler. Lösung: Löschen Sie vorherige Zertifikate von SSL for Free und deinstallieren Sie abgelaufene Zertifikate vom Server. (Solange das abgelaufene Zertifikat noch konfiguriert und aktiv ist, erhalten Sie nie ein neues) jar2

verwandte Informationen