Zum Inhalt springen
ecdsa.com
GNU Wget (GnuTLS build); the alias is the OpenSSL build's wordingcurl

Fehlermeldung

The certificate's owner does not match hostname 'api.example.com'

Auch ausgegeben als

  • ERROR: no certificate subject alternative name matches

GnuTLS-Builds von wget geben diese Zeile aus; OpenSSL-Builds geben „ERROR: no certificate subject alternative name matches“ aus, gefolgt von „requested host name '<host>'.“ in der nächsten Zeile. Der Host ist der aus deiner URL.

Was der Fehler bedeutet

Das Zertifikat wurde erfolgreich geprüft, ist aber für andere Namen ausgestellt als den Host in der URL, deshalb bricht wget ab. Der Host wird mit den DNS-Namen in der Erweiterung Subject Alternative Name des Zertifikats verglichen – dort tragen alle aktuellen CAs die Namen ein, die ein Zertifikat abdeckt. wget beendet sich mit Status 5.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Vom Zertifikat abgedeckte Namen auflisten

    Vergleiche die Einträge in subjectAltName mit dem Host in der URL.

    bash
    echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \
      | openssl x509 -noout -ext subjectAltName
  2. 2.

    Zertifikat mit dem fehlenden Namen neu ausstellen

    Nimm jeden Hostnamen, den Clients verwenden, in die Zertifikatsanfrage auf, rolle das Zertifikat dann aus und lade den Server neu.

    bash
    sudo certbot certonly --nginx -d example.com -d www.example.com -d api.example.com
  3. 3.

    Einen Namen aus dem Zertifikat verwenden

    Ist der Server unter einem aufgeführten Namen erreichbar, verwende diesen Namen in der URL statt einer IP-Adresse oder eines Alias.

    bash
    # Download through a name the certificate lists, not an IP or alias
    wget https://www.example.com/file.tar.gz

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen