Fehlerbehebung · 15.3
Fehlerbehebung: HTTP-01 und TLS-ALPN-01
Bei HTTP-01 ruft die CA http://<public-name>/.well-known/acme-challenge/… ab. TLSPilot veröffentlicht die Datei mit der für das Zertifikat gewählten Option: Listener on this management host (port 80), Local webroot on this management host, Remote Windows web server (WinRM) oder Remote Linux web server (SSH). Bei TLS-ALPN-01 öffnet die CA eine TLS-Verbindung mit dem Protokoll acme-tls/1, und TLSPilot beantwortet sie auf dem Management-Host mit einem temporären Challenge-Zertifikat. Die CA verbindet sich immer mit Port 80 (HTTP-01) bzw. 443 (TLS-ALPN-01) des öffentlichen Namens; andere Ports sind nicht möglich (RFC 8555, RFC 8737). Sie verbindet sich aus mehreren Netzwerkperspektiven, siehe Kapitel Multi-Perspective Validation.
| Symptom | Ursache | Lösung |
|---|---|---|
| HTTP-01 | ||
| Failed to start HTTP-01 listener on port 80 of this management host. | Port 80 ist auf dem Management-Host bereits belegt, zum Beispiel durch IIS oder einen anderen Webserver. Der Listener verwendet immer Port 80; ein anderer lokaler Port ist nicht möglich. | Geben Sie Port 80 frei oder veröffentlichen Sie die Datei mit Local webroot, Remote Windows oder Remote Linux dort, wohin der öffentliche Name zeigt. |
| That is an HTTP-01 failure (the CA looks up A/AAAA and port 80). | Die CA konnte die Datei nicht abrufen: Der Name zeigt nicht auf den Server mit der Datei, oder Port 80 ist blockiert. | Prüfen Sie die A/AAAA-Records des Namens und öffnen Sie Port 80 aus dem Internet, siehe Kapitel Ports und Listener. Für DNS-01 wählen Sie DNS-01 als Challenge-Typ und speichern. |
| HTTP-01 schlägt fehl, obwohl die Datei auf dem Webserver liegt | Ein Reverse Proxy, Load Balancer oder eine NAT-Regel leitet die Anfrage an einen anderen Server, oder eine Weiterleitung führt auf einen anderen Port als 80 oder 443. Let’s Encrypt folgt bis zu 10 Weiterleitungen, nur zu http oder https auf Port 80 oder 443. | Leiten Sie /.well-known/acme-challenge/ auf Port 80 an den Server weiter, auf dem TLSPilot die Datei veröffentlicht. Bei mehreren Webservern hinter einem Load Balancer muss jeder Server die Datei ausliefern, oder verwenden Sie DNS-01. |
| HTTP-01 Local webroot requires a path, HTTP-01 Remote Windows requires Target host. oder … requires web root path | Ein Pflichtfeld der gewählten Option ist leer. | Geben Sie den Zielhost und das Web-Root ein, zum Beispiel C:\inetpub\wwwroot oder /var/www/html. |
| WinRM credential <name> not found or incomplete. oder SSH credential <name> not found or incomplete. | Remote Windows braucht ein WinRM-Credential, Remote Linux ein SSH-Credential. | Wählen oder erstellen Sie das passende Credential im Credentials Manager. |
| TLS-ALPN-01 | ||
| Authorization invalid for <name> mit TLS-ALPN-01: the CA must complete a TLS handshake with acme-tls/1 on TCP/443. A timeout means inbound 443 is filtered. …, und die Details der CA melden einen Timeout | Port 443 ist durch eine Firewall blockiert, es gibt keine NAT-Regel zum Management-Host, oder die Namen zeigen nicht auf den Management-Host. | Öffnen Sie Port 443 aus dem Internet und leiten Sie ihn an den Management-Host weiter. TLS-ALPN-01 funktioniert nur, wenn alle Namen auf den Management-Host zeigen; sonst verwenden Sie DNS-01 oder HTTP-01. |
| Gleiche Meldung, aber die Details der CA melden, dass der Handshake abgebrochen wurde oder kein bzw. ein falsches Zertifikat präsentiert wurde (Handshake EOF / no certificate means the challenge cert was not presented.) | Ein anderes System antwortet auf Port 443, zum Beispiel ein Reverse Proxy, Load Balancer oder WAF, der TLS terminiert. Es präsentiert sein eigenes Zertifikat, und acme-tls/1 kommt nicht bis zu TLSPilot durch. | Leiten Sie Port 443 auf TCP-Ebene ohne TLS-Terminierung an den Management-Host weiter oder verwenden Sie DNS-01 oder HTTP-01. |
| Log: TLS-ALPN-01 could not bind <address>:<port> (already in use) | Ein anderer Prozess verwendet den Port. TLSPilot legt das Challenge-Zertifikat dann in einem gemeinsamen Speicher ab. Das funktioniert nur, wenn der HTTPS-Listener der WebUI der Prozess auf diesem Port ist. | Verwendet IIS oder ein anderer Dienst Port 443, geben Sie in den TLS-ALPN-01-Einstellungen des Zertifikats unter Listen address eine freie IP-Adresse ein oder einen anderen Port mit Weiterleitung, siehe Kapitel Weitere Challenge-Typen. |
| TLS-ALPN-01 cannot listen on <address>:<port>: … If the Web UI already uses 443, pick another local IP for this challenge or stop the conflicting listener. | TLSPilot kann den Listener nicht öffnen, zum Beispiel weil die Listen-Adresse auf dem Management-Host nicht existiert. | Geben Sie unter Listen address eine IP-Adresse des Management-Hosts ein oder 0.0.0.0 für alle IPv4-Adressen. |
| Der Port von TLS-ALPN-01 ist nicht 443, und die Validierung läuft in einen Timeout | Die CA verbindet sich immer mit Port 443. Den lokalen Port erreicht sie nur, wenn eine Firewall, NAT oder WAF den externen Port 443 dorthin weiterleitet. | Leiten Sie den externen Port 443 auf TCP-Ebene an Listen-Adresse und Port weiter, siehe Kapitel Weitere Challenge-Typen. |
| TLS-ALPN-01 on <certificate> does not support IP SANs. Use DNS-01 or Private CA. | TLS-ALPN-01 kann keine IP-Adressen validieren. | Verwenden Sie DNS-01 oder die Private CA. |
| HTTP-01 und TLS-ALPN-01 | ||
| Die Validierung schlägt fehl, obwohl sie über IPv4 funktioniert, zum Beispiel bei einem Test von aussen | Der Name hat einen AAAA-Record, der auf einen anderen Server zeigt oder nicht erreichbar ist. Let’s Encrypt bevorzugt IPv6 und versucht es erst nach einem Timeout über IPv4; bei HTTP-01 nur bei der ersten Anfrage, nicht nach einer Weiterleitung. Mit der Standard-Listen-Adresse 0.0.0.0 akzeptiert der TLS-ALPN-01-Listener nur IPv4. | Korrigieren Sie den AAAA-Record, sodass er auf den richtigen Server zeigt, oder entfernen Sie ihn, wenn der Name nicht über IPv6 erreichbar sein soll. |
| Die Validierung schlägt nur bei manchen Versuchen fehl, oder die Details der CA enthalten secondary validation | Geoblocking, eine IP-Allowlist oder eine WAF-Regel blockiert einige Netzwerkperspektiven der CA. Let’s Encrypt veröffentlicht die IP-Adressen, von denen aus validiert wird, nicht, und sie können sich jederzeit ändern. | Erlauben Sie Port 80 bzw. 443 aus dem ganzen Internet, mindestens für die Dauer der Validierung und für /.well-known/acme-challenge/. Siehe Kapitel Multi-Perspective Validation. |