Instalacja certyfikatu SSL często wygląda na zakończoną w chwili, gdy kłódka pojawia się w Twojej własnej przeglądarce. Potem klient ze starszym telefonem widzi ostrzeżenie, operator płatności odrzuca webhook albo certyfikat po cichu wygasa trzy miesiące później. Większość tych problemów wynika z kilku powtarzalnych błędów. Ten poradnik wyjaśnia, jak zdiagnozować i naprawić każdy z nich, niezależnie od tego, czy Twoja strona działa na VPS-ie, w panelu hostingowym czy za CDN.

Niepełny łańcuch certyfikatów pośrednich

Urząd certyfikacji podpisuje Twój certyfikat certyfikatem pośrednim, który sam jest podpisany przez zaufany certyfikat główny. Serwer musi wysyłać Twój certyfikat razem z pośrednim. Jeśli wysyła tylko Twój, przeglądarki na komputerach często działają, bo zapamiętują lub pobierają brakujący element, natomiast aplikacje mobilne, klienty API i starsze urządzenia zgłaszają błąd.

Jak to zdiagnozować

Użyj internetowego narzędzia do sprawdzania SSL albo uruchom openssl s_client -connect example.com:443 -showcerts i policz zwrócone certyfikaty. Niepełny łańcuch certyfikatów zwykle pokazuje tylko jeden certyfikat albo raportuje, że nie udało się zweryfikować wystawcy.

Jak to naprawić

  • W Nginx wskaż w dyrektywie certyfikatu plik z pełnym łańcuchem, a nie sam certyfikat.
  • W Apache użyj pliku z pełnym łańcuchem albo w starszych wersjach ustaw dyrektywę pliku łańcucha.
  • W panelu hostingowym wklej pakiet CA do osobnego pola certyfikatu pośredniego.

Niezgodność nazwy

Błąd niezgodności nazwy oznacza, że nazwa hosta z paska adresu nie występuje na certyfikacie. Typowe przyczyny to certyfikat wystawiony dla example.com, ale nie dla www.example.com, nowa subdomena dodana po wystawieniu certyfikatu albo serwer wysyłający certyfikat domyślny, bo w hoście wirtualnym Twojej domeny brakuje konfiguracji SSL.

Sprawdź nazwy alternatywne (Subject Alternative Names) na certyfikacie i porównaj je z każdą używaną nazwą hosta. Wystaw certyfikat ponownie ze wszystkimi nazwami i upewnij się, że każdy host wirtualny HTTPS ma ustawioną własną nazwę serwera, dzięki czemu serwer wybierze właściwy certyfikat za pomocą SNI.

Mixed content po przejściu na HTTPS

Mixed content występuje, gdy strona HTTPS ładuje obrazy, skrypty lub arkusze stylów przez zwykły HTTP. Przeglądarki całkowicie blokują niezabezpieczone skrypty, a przy obrazach mogą pokazać uszkodzoną kłódkę. Objawy sięgają od braku kłódki po zepsute menu i strony finalizacji zamówienia.

  • Otwórz konsolę deweloperską przeglądarki; wypisuje każdy zablokowany lub niezabezpieczony zasób.
  • Zaktualizuj ustawienia adresu URL witryny w CMS, aby nowe linki były generowane z HTTPS.
  • Przeszukaj bazę danych pod kątem na stałe wpisanych linków http:// w treściach, ustawieniach motywu i widżetach i ostrożnie je zamień po wykonaniu kopii zapasowej.
  • Sprawdź zewnętrzne osadzenia, czcionki i skrypty śledzące, które czasem nadal odwołują się do adresów HTTP.

Nagłówek Content-Security-Policy z upgrade-insecure-requests może załatwić pozostałe przypadki, ale naprawiaj źródła, zamiast polegać wyłącznie na nim.

Awarie automatycznego odnawiania ACME

Darmowe certyfikaty Let's Encrypt ważne są 90 dni i opierają się na automatycznym odnawianiu ACME. Gdy odnowienie zawiedzie, nikt tego nie zauważa, dopóki strona nie pokaże ostrzeżenia o wygaśnięciu. Typowe przyczyny to:

  • Zablokowane wyzwanie HTTP: reguła przekierowania, firewall lub CDN uniemożliwia serwerowi walidacji dotarcie do pliku wyzwania w /.well-known/acme-challenge/.
  • Zmiany DNS: domena wskazuje teraz na inny serwer lub CDN, więc wyzwanie trafia gdzie indziej.
  • Zepsute zadanie odnawiania: zadanie cron lub timer systemd usunięto podczas aktualizacji serwera albo klient działa, ale serwer WWW nigdy nie jest przeładowywany.
  • Limity zapytań: powtarzane nieudane próby podczas testów mogą tymczasowo zablokować wystawianie nowych certyfikatów.

Uruchom odnowienie próbne (dry-run), aby zobaczyć dokładny błąd, potwierdź, że ścieżka wyzwania jest osiągalna przez zwykły HTTP, i dodaj hook przeładowania, aby serwer WWW wczytał nowy certyfikat. Dla domen za CDN wyzwanie DNS jest często bardziej niezawodne. Skonfiguruj monitoring wygaśnięcia, aby dostać ostrzeżenie na tygodnie przed utratą ważności certyfikatu.

Pętle przekierowań za proxy i CDN

Pętla przekierowań często pojawia się tuż po włączeniu HTTPS na stronie za reverse proxy, load balancerem lub CDN. CDN łączy się z Twoim serwerem przez HTTP, serwer przekierowuje na HTTPS, CDN ponownie przekazuje żądanie przez HTTP i cykl się powtarza.

Naprawa pętli

  • Ustaw w CDN połączenie z serwerem źródłowym przez HTTPS z prawidłowym certyfikatem na serwerze, zamiast trybu flexible.
  • Jeśli proxy kończy TLS, spraw, aby aplikacja ufała nagłówkowi X-Forwarded-Proto i wiedziała, że oryginalne żądanie było już bezpieczne.
  • Trzymaj przekierowania w jednym miejscu. Przekierowanie w CDN, kolejne w serwerze WWW i trzecie w CMS to zaproszenie dla pętli.

Krótka lista kontrolna po instalacji

  • Testuj zewnętrznym narzędziem do sprawdzania SSL, a nie tylko własną przeglądarką.
  • Zweryfikuj każdą nazwę hosta, w tym www i nazwy związane z pocztą, których używasz.
  • Przeskanuj kluczowe strony pod kątem mixed content, zwłaszcza finalizację zamówienia i formularze kontaktowe.
  • Uruchom odnowienie próbne i upewnij się, że działa monitoring.
  • Sprawdź, czy HTTP przekierowuje na HTTPS jednym skokiem.

Jeśli wolisz, żeby ktoś zajął się tym za Ciebie, nasza usługa instalacji i konfiguracji certyfikatów SSL obejmuje certyfikaty, łańcuchy, przekierowania i konfigurację odnawiania dla stron firmowych w Long Beach i hrabstwie LA.

Najczęściej zadawane pytania o błędy SSL

Dlaczego moja strona działa na komputerze, a na telefonach pokazuje błąd SSL?

To klasyczny objaw brakującego certyfikatu pośredniego. Przeglądarki na komputerach mogą uzupełnić lukę, a urządzenia mobilne i aplikacje nie. Zainstaluj pełny łańcuch.

Czy po odnowieniu muszę ponownie instalować certyfikat?

Nie, jeśli odnawianie jest poprawnie zautomatyzowane. Klient podmienia pliki, a hook przeładowania każe serwerowi WWW z nich korzystać. Jeśli po odnowieniu nadal serwowany jest stary certyfikat, brakuje kroku przeładowania.

Czy flexible SSL w CDN wystarczy?

Szyfruje tylko połączenie między odwiedzającym a CDN. Ruch do Twojego serwera pozostaje niezaszyfrowany, a pętle przekierowań są częste, więc użyj pełnego szyfrowania z prawidłowym certyfikatem serwera źródłowego.