![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](https://rvso.com/image/696997/Fehler%20bei%20der%20Installation%20von%20LetsEncrypt%20SSL%3A%20(http-01)%3A%20urn%3Aacme%3Aerror%3Aconnection%20%3A%3A%20Der%20Server%20konnte%20keine%20Verbindung%20zum%20Client%20herstellen%2C%20um%20die%20Dom%C3%A4ne%20zu%20verifizieren.png)
Ich versuche zu installierenLetsEncrypt
auf 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.04
und es gibt einen nginx
Webserver. Unten ist die nginx
Konfiguration:
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 nginx
Konfigurationerscheintzu arbeiten, da ich manuell eine Datei in den acme-challenge
Ordner 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 nmap
auf 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