freessl.pl English Zaloguj się Wygeneruj certyfikat

SSL_ERROR_BAD_CERT_DOMAIN: certyfikat wystawiony na inny adres

Stan: październik 2026 · czytanie około 3 min

W skrócie

Certyfikat, który pokazał serwer, jest wystawiony na inne nazwy niż adres w pasku przeglądarki, na przykład tylko na firma.pl, a otwierasz www.firma.pl. Chrome pokazuje w tej sytuacji „Połączenie nie jest prywatne”. Właściciel strony naprawia to jednym certyfikatem dla wszystkich adresów strony, przypisanym do właściwej domeny.

Co oznacza ten błąd

Certyfikat zawiera listę nazw (adresów), dla których jest ważny. Firefox pokazuje SSL_ERROR_BAD_CERT_DOMAIN, gdy adresu z paska przeglądarki nie ma na tej liście. Nagłówek ostrzeżenia to „Zachowaj ostrożność. Coś tu nie gra.” (w starszych wersjach „Ostrzeżenie: potencjalne zagrożenie bezpieczeństwa”). Po kliknięciu „Zaawansowane” Firefox pisze, że certyfikat nie jest ważny dla tego adresu, i od razu podaje, dla jakich jest: „Certyfikat jest ważny wyłącznie dla: …”. Kod jest niżej, po słowach „Kod błędu”.

Chrome pokazuje w tej sytuacji „Połączenie nie jest prywatne” z kodem NET::ERR_CERT_COMMON_NAME_INVALID. Edge pokazuje podobne ostrzeżenie z tym samym kodem. Po kliknięciu „Zaawansowane” Chrome pisze na przykład: „Ten serwer nie mógł udowodnić, że należy do www.firma.pl. Jego certyfikat pochodzi z firma.pl.”. Druga nazwa to jeden z adresów, na które wystawiono certyfikat.

Jeśli to cudza strona

  • Nie wpisuj na niej haseł, danych karty ani danych osobowych.
  • Sprawdź adres. Czasem działa wersja z www albo bez www; wpisz adres ręcznie zamiast korzystać ze starej zakładki.
  • Firefox sam pisze, że problem najpewniej leży po stronie witryny. W sieci firmowej zapytaj dział IT, a jeśli używasz programu antywirusowego, sprawdź, czy nie ma w nim znanych problemów z połączeniami szyfrowanymi.
  • Daj znać właścicielowi strony i podaj adres, pod którym widzisz ostrzeżenie.

Najczęstsze przyczyny na Twojej stronie

  • Certyfikat bez www albo bez adresu głównego. Certyfikat wystawiono tylko na firma.pl, a strona otwiera się też jako www.firma.pl, albo odwrotnie. To dwie różne nazwy i obie muszą być w certyfikacie.
  • Subdomena spoza certyfikatu, np. sklep.firma.pl, gdy certyfikat obejmuje tylko firma.pl i www.firma.pl.
  • Certyfikat z gwiazdką obejmuje mniej, niż się wydaje. *.firma.pl obejmuje www.firma.pl i sklep.firma.pl, ale nie samą firma.pl ani a.b.firma.pl.
  • Serwer pokazuje ogólny certyfikat hostingu. Gdy do domeny nie przypisano certyfikatu, serwer odpowiada swoim certyfikatem domyślnym, wystawionym na nazwę hostingu albo serwera.
  • Adres prowadzi na inny serwer. Na przykład po przeniesieniu strony rekord DNS dla www nadal wskazuje stary hosting, na którym nie ma Twojego certyfikatu.

Jak sprawdzić, na jakie adresy wystawiono certyfikat

  1. Firefox: na stronie z ostrzeżeniem kliknij „Zaawansowane”. Lista nazw jest po słowach „Certyfikat jest ważny wyłącznie dla:”. Wszystkie szczegóły zobaczysz po kliknięciu „Wyświetl certyfikat witryny”, w części „Alternatywne nazwy podmiotu” (każda nazwa w wierszu „Nazwa DNS”).
  2. Chrome: gdy adres otwiera się bez ostrzeżenia, kliknij ikonę obok adresu, potem „Połączenie jest bezpieczne” i „Certyfikat jest ważny”. Nazwy są w zakładce „Szczegóły”.
  3. Poleceniem openssl (Linux, macOS, w Windows Git Bash):
    echo | openssl s_client -connect twojadomena.pl:443 \
      -servername twojadomena.pl 2>/dev/null \
      | openssl x509 -noout -text | grep -A1 "Subject Alternative Name"
    W odpowiedzi zobaczysz nazwy z przedrostkiem DNS:, np. DNS:firma.pl, DNS:www.firma.pl.

Jak naprawić to na swojej stronie

  1. Spisz wszystkie adresy, pod którymi otwiera się strona: zwykle firma.pl i www.firma.pl, czasem też subdomeny.
  2. Wygeneruj w generatorze jeden certyfikat dla wszystkich tych nazw, oddzielonych przecinkiem, np. firma.pl, www.firma.pl (do 10 nazw). Dla wielu subdomen wpisz firma.pl, *.firma.pl (bez osobnego www, bo obejmuje je gwiazdka); certyfikat z gwiazdką wymaga potwierdzenia rekordem DNS.
  3. Wgraj certyfikat według instrukcji dla swojego hostingu i sprawdź w panelu, czy jest przypisany do domeny, pod którą działa strona.
  4. Na własnym serwerze obie nazwy muszą być w konfiguracji portu 443: w nginx w linii server_name bloku z listen 443 ssl, w Apache w ServerName i ServerAlias bloku <VirtualHost *:443>.
  5. Jeśli adres prowadzi na inny serwer, popraw rekord A (albo CNAME) w strefie DNS domeny.
  6. Sprawdź w oknie prywatnym oba adresy, z www i bez. Jak potem przekierować wszystkich na jeden adres, opisujemy na stronie Przekierowanie z http na https.

Czytaj dalej

Gotowy? Certyfikat w kilka minut, bez opłat.Wygeneruj certyfikat