TLS-Fehler "no alternative certificate subject name" beheben

Warnsymbol: Ausrufezeichen in einem Dreieck. Achtung: no alternative certificate subject name matches target host name.

Geschrieben von

Enno Wendt

Veröffentlicht am

3. Apr. 2026

Inhaltsverzeichnis

Bei TLS-Fehlern rund um Hostnamen liegt das Problem meist nicht bei der Verschlüsselung selbst, sondern bei der Identität des Servers. Die Meldung no alternative certificate subject name matches target host name bedeutet in der Praxis: Der aufgerufene Name passt nicht zu den Namen im Zertifikat. Ich zeige hier, wie du den Fehler sauber einordnest, mit welchen Prüfungen du die Ursache findest und wie du ihn dauerhaft beseitigst.

Die kurze Einordnung für den schnellen Abgleich

  • Der Client prüft, ob der Hostname in der URL in den Zertifikatsnamen enthalten ist.
  • Entscheidend ist heute vor allem die subjectAltName-Extension, nicht der Common Name allein.
  • Typische Auslöser sind falsches SNI, ein Default-Zertifikat, Alias-Namen oder die Nutzung einer IP statt eines DNS-Namens.
  • Die saubere Lösung ist fast immer ein korrekt ausgestelltes Zertifikat mit passenden SAN-Einträgen.
  • `-k` oder `--insecure` eignet sich höchstens zum Testen, nicht als dauerhafte Lösung.

Was die Meldung technisch wirklich sagt

Ich lese diesen Fehler immer als Identitätsproblem, nicht als allgemeines SSL-Problem. Der TLS-Client vergleicht den Namen, den du aufrufst, mit den Identifikatoren im Zertifikat. Fehlt dort der passende DNS-Name oder die passende IP-Adresse, bricht die Prüfung ab, auch wenn das Zertifikat sonst gültig, signiert und nicht abgelaufen ist.

In modernen TLS-Setups ist die subjectAltName-Extension maßgeblich. Dort stehen die erlaubten Namen als dNSName oder iPAddress. Der Common Name im Subject ist historisch wichtig gewesen, ist heute aber keine verlässliche Basis mehr. Einige Bibliotheken akzeptieren ihn noch als Fallback, darauf sollte man sich in produktiven Umgebungen nicht verlassen.

Das erklärt auch, warum derselbe Server in einem Fall funktioniert und im nächsten scheitert: Nicht die Verschlüsselung wechselt, sondern der angefragte Hostname. Wer `example.de` aufruft, braucht ein Zertifikat für genau diesen Namen oder einen explizit abgedeckten Alias, etwa `www.example.de`. Wer direkt per IP geht, braucht dagegen eine Zertifikatsidentität für diese IP oder muss wieder über den DNS-Namen arbeiten.

Aus meiner Sicht ist das die wichtigste Denkregel bei diesem Fehler: Der Client prüft nicht nur, ob ein Zertifikat existiert, sondern ob es für genau diesen Zielnamen gedacht ist. Das führt direkt zur Frage, warum Server in der Praxis trotzdem oft das falsche Zertifikat ausliefern.

Warum derselbe Server plötzlich das falsche Zertifikat liefert

Sehr oft ist der Server technisch erreichbar, aber der falsche virtuelle Host antwortet auf die TLS-Anfrage. Das passiert besonders bei Shared Hosting, Reverse Proxies, Load Balancern und CDNs. Wenn dort SNI nicht korrekt übergeben wird oder das Default-Zertifikat greift, landet der Client bei einem Zertifikat, das zu einem anderen Namen gehört.

Ein weiterer Klassiker sind Namenskonflikte zwischen internen und externen Hosts. Intern heißt der Dienst vielleicht `app.local`, extern aber `app.firma.de`. Wenn das Zertifikat nur einen dieser Namen enthält, scheitert die Prüfung auf der jeweils anderen Seite. Dasselbe gilt für Umgebungen, in denen ein Shortname wie `mail01` verwendet wird, der im Zertifikat nie vorgesehen war.

Situation Typisches Symptom Was das in der Regel bedeutet Saubere Reaktion
Aufruf per `www` statt Apex-Domain Hostname passt nicht zum Zertifikat Nur einer der beiden Namen wurde ausgestellt Beide Namen in SAN aufnehmen oder einen kanonischen Namen erzwingen
Aufruf per IP-Adresse Browser oder Client meldet Namensfehler Das Zertifikat enthält keine iPAddress-Identität Über DNS-Namen arbeiten oder IP explizit im Zertifikat führen
Mehrere Sites hinter einem Proxy Es erscheint das Zertifikat einer anderen Site SNI oder VHost-Mapping zeigt auf den Default-Block SNI, Servername und Zertifikatszuordnung prüfen
Wildcard-Zertifikat Ein tieferer Subdomain-Name schlägt fehl Wildcard deckt nur eine Ebene links vom Punkt ab Zusätzlichen SAN-Eintrag oder separates Zertifikat nutzen

Genau an dieser Stelle trennt sich saubere Infrastruktur von improvisierter Konfiguration. Ein Zertifikat kann korrekt sein und trotzdem am falschen Ort ausgeliefert werden. Deshalb lohnt sich der Blick auf die nächste Ebene: die Diagnose.

So finde ich die Abweichung in der Praxis

Wenn ich einen Namensfehler untersuche, gehe ich immer in derselben Reihenfolge vor: erst den aufgerufenen Namen bestätigen, dann das tatsächlich gelieferte Zertifikat ansehen, danach die SANs prüfen. Diese Reihenfolge spart Zeit, weil sie DNS-, Proxy- und Zertifikatsfehler sauber voneinander trennt.

  1. Prüfe die exakte Ziel-URL, inklusive Subdomain, Port und möglicher Weiterleitungen.
  2. Rufe den Dienst mit ausführlicher Ausgabe auf, zum Beispiel mit `curl -v https://beispiel.de/`.
  3. Schau dir an, welches Zertifikat der Server wirklich sendet, etwa mit `openssl s_client -connect beispiel.de:443 -servername beispiel.de -showcerts`.
  4. Inspektiere anschließend das Zertifikat selbst und suche nach `subjectAltName`.
  5. Vergleiche den Namen aus der URL mit allen SAN-Einträgen und prüfe, ob ein Alias oder eine IP im Spiel ist.
curl -v https://beispiel.de/
openssl s_client -connect beispiel.de:443 -servername beispiel.de -showcerts
openssl x509 -noout -text -in cert.pem

Der zweite Befehl ist besonders wichtig, weil er SNI explizit setzt. Ohne SNI kann auf Mehrmandanten-Servern das falsche Zertifikat zurückkommen, obwohl der Zielhost eigentlich korrekt ist. Für Tests ist auch `curl --resolve www.example.de:443:192.0.2.10 https://www.example.de/` hilfreich, weil der Hostname in der URL gleich bleibt, aber die Verbindung auf eine andere IP zeigt.

Wenn der Fehler nur bei `curl` auftaucht, im Browser aber nicht, ist das ebenfalls ein Hinweis. Dann lohnt sich ein Blick darauf, ob Browser und Client denselben Hostnamen benutzen, ob eine Weiterleitung auf eine andere Domain passiert oder ob der Server im Hintergrund ein anderes Zertifikat ausliefert.

So behebe ich den Fehler dauerhaft

Die verlässlichste Lösung ist fast immer: Zertifikat neu ausstellen, damit alle tatsächlich genutzten Namen im SAN stehen. Das betrifft nicht nur den offensichtlichen Hauptnamen, sondern auch die Namen, über die der Dienst real erreichbar ist. Bei Webanwendungen sind das oft `example.de`, `www.example.de`, ein API-Host und gegebenenfalls ein Verwaltungsname.

Ich würde die Behebung immer in dieser Reihenfolge angehen:

  • Den kanonischen Hostnamen festlegen, den Benutzer und Systeme künftig verwenden sollen.
  • Alle produktiven Alias-Namen sammeln, die in SAN aufgenommen werden müssen.
  • Das Zertifikat mit diesen Namen neu ausstellen oder neu beantragen.
  • Webserver, Proxy oder Load Balancer so konfigurieren, dass genau dieses Zertifikat für genau diesen Host ausgeliefert wird.
  • Nach dem Rollout erneut mit `curl` und `openssl s_client` testen.

Bei Wildcard-Zertifikaten ist die Grenze klar: `*.example.de` deckt nur eine Ebene ab, also etwa `shop.example.de`, nicht aber `a.b.example.de` und auch nicht die Apex-Domain `example.de`. Das ist kein Fehler des Zertifikats, sondern eine Eigenschaft der Namensregel. Wer diese Grenze kennt, vermeidet viele unnötige Supportschleifen.

Für interne Systeme gilt derselbe Grundsatz. Wenn ein Dienst nur per internem DNS-Namen erreichbar ist, muss genau dieser Name im Zertifikat stehen oder durch die interne PKI abgedeckt werden. Ein öffentliches Zertifikat für einen privaten Shortname ist meist keine gute Idee, weil externe Clients den Namen ohnehin nicht auflösen oder nicht als vertrauenswürdig behandeln können.

Welche Abkürzungen ich nur zum Testen akzeptiere

Es gibt ein paar schnelle Wege, die den Fehler kurzfristig verschwinden lassen. Ich setze sie nur in Laboren, bei einmaligen Migrationsschritten oder für die Fehlersuche ein. Dauerhaft sind sie zu teuer, weil sie die eigentliche Ursache verdecken.

Abkürzung Was sie wirklich macht Warum ich sie nicht als Endzustand empfehle
`curl -k` / `--insecure` Deaktiviert die Zertifikatsprüfung Der Schutz vor Man-in-the-Middle-Angriffen fällt weg
`--resolve` Lenkt nur den Testverkehr auf eine andere IP Hilft beim Debuggen, löst aber kein Namensproblem im Zertifikat
Hosts-Datei Ändert lokale Namensauflösung Der Zertifikatsname bleibt trotzdem gleich und kann weiter fehlschlagen
Nur den Common Name ändern Ändert einen alten Zertifikatswert Moderne Clients verlassen sich primär auf SAN, nicht auf CN

Wenn ein Team diese Abkürzungen zu lange mitträgt, entsteht fast immer technischer Schuldenstand: Die Umgebung wirkt stabil, bis ein neues Tool, eine andere Bibliothek oder ein strengerer Client die alte Unsicherheit sichtbar macht. Ich halte es deshalb für besser, die Ursache zügig zu beheben, statt den Fehler zu verstecken.

Was ich für neue TLS-Setups von Anfang an einplane

Bei neuen Umgebungen plane ich TLS nicht erst am Ende ein, sondern parallel zur Namensstrategie. Das spart später die meisten Konflikte. Die Frage ist nicht nur, welches Zertifikat bestellt wird, sondern auch, welche Namen langfristig stabil bleiben sollen.

Mein pragmatischer Standard sieht so aus: ein kanonischer Name pro Dienst, alle produktiven Alias-Namen im SAN, klare Trennung zwischen intern und extern, und ein Testlauf vor dem Go-live. Dazu kommt eine einfache Regel für Betrieb und Automatisierung: Wenn ein neuer Hostname eingeführt wird, wird er gleichzeitig in DNS, Reverse Proxy und Zertifikatsprozess eingetragen.

So bleibt der Fehler gar nicht erst stehen. Und genau das ist die bessere Antwort auf einen Namenskonflikt im TLS-Handshake: nicht nur das Zertifikat wechseln, sondern die gesamte Namenskette von URL über Proxy bis zur Auslieferung konsistent machen. Dann verschwindet der Fehler nicht nur auf dem Papier, sondern auch im Betrieb.

Häufig gestellte Fragen

Diese Meldung bedeutet, dass der aufgerufene Hostname (z.B. eine Domain) nicht mit den in den Zertifikatsinformationen hinterlegten Namen übereinstimmt. Es ist ein Identitätsproblem, kein Verschlüsselungsproblem, selbst wenn das Zertifikat an sich gültig ist.

Oft liegt es an einer Fehlkonfiguration bei Shared Hosting, Reverse Proxies oder Load Balancern. Wenn SNI (Server Name Indication) nicht korrekt übergeben wird oder ein Default-Zertifikat greift, wird ein Zertifikat für einen anderen Hostnamen ausgeliefert.

Prüfen Sie die exakte Ziel-URL, nutzen Sie `curl -v` und `openssl s_client` um das gelieferte Zertifikat zu analysieren. Vergleichen Sie den angefragten Hostnamen mit den `subjectAltName`-Einträgen im Zertifikat, um die Diskrepanz zu finden.

Stellen Sie das Zertifikat neu aus und stellen Sie sicher, dass alle tatsächlich genutzten Hostnamen (inkl. Aliasse und ggf. IPs) im `subjectAltName` enthalten sind. Konfigurieren Sie Ihren Webserver/Proxy so, dass das korrekte Zertifikat für den jeweiligen Hostnamen ausgeliefert wird.

Artikel bewerten

Bewertung: 0.00 Stimmenanzahl: 0

Tags:

no alternative certificate subject name matches target host name tls hostname mismatch beheben ssl zertifikat falscher hostname

Beitrag teilen

Enno Wendt

Enno Wendt

Mein Name ist Enno Wendt und ich arbeite seit 7 Jahren im Bereich IT-Infrastruktur, Web-Technologien und Sicherheit. Mein Interesse an diesen Themen begann früh, als ich die Möglichkeiten erkannte, die Technologie bietet, um Probleme zu lösen und Prozesse zu optimieren. Ich finde es spannend, komplexe technische Zusammenhänge verständlich zu erklären und dabei aktuelle Trends und Entwicklungen im Blick zu behalten. In meinen Beiträgen konzentriere ich mich darauf, nützliche und präzise Informationen bereitzustellen, die sowohl für Fachleute als auch für Einsteiger zugänglich sind. Ich lege großen Wert darauf, meine Quellen sorgfältig zu überprüfen und Informationen zu vergleichen, um sicherzustellen, dass ich meinen Lesern eine klare und fundierte Sichtweise präsentiere. Mein Ziel ist es, Wissen so zu organisieren, dass es leicht verständlich ist und dabei hilft, die Herausforderungen der digitalen Welt zu meistern.

Kommentar schreiben