15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
30.10.2024

Błędy bezpieczeństwa SSL: Kompletny przewodnik do diagnozowania i naprawiania ich

Błędy SSL/TLS należą do najbardziej destrukcyjnych problemów, z którymi może się zmierzyć witryna. Jedno ostrzeżenie o certyfikacie wystarczy, aby odwiedzający uciekli — i słusznie. Te alerty przeglądarki sygnalizują, że nie można zweryfikować zaszyfrowanego połączenia między użytkownikiem a serwerem, co zagraża wrażliwym danym. Niezależnie od tego, czy jesteś zwykłym użytkownikiem internetu napotykającym frustrujący komunikat ostrzegawczy, czy właścicielem witryny obserwującym wzrost wskaźnika odrzuceń, zrozumienie błędów bezpieczeństwa SSL jest niezbędne.

Ten kompleksowy przewodnik obejmuje każdy główny typ błędu SSL, jego przyczynę oraz dokładne kroki potrzebne do jego naprawienia — zarówno z perspektywy użytkownika, jak i administratora serwera.

Czym jest SSL/TLS i dlaczego to ważne?

SSL (Secure Sockets Layer) i jego nowoczesny następca TLS (Transport Layer Security) to protokoły kryptograficzne, które szyfrują dane przesyłane między przeglądarką internetową a serwerem internetowym. Gdy witryna używa HTTPS, oznacza to, że certyfikat SSL/TLS jest na miejscu, uwierzytelniając tożsamość serwera i chroniąc dane w tranzycie.

Gdy coś pójdzie nie tak z tym certyfikatem — wygaśnie, będzie błędnie skonfigurowany lub przeglądarka nie będzie mogła go zweryfikować — połączenie zostanie oznaczone jako niezabezpieczone. Przeglądarki takie jak Chrome, Firefox, Edge i Safari wyświetlają widoczne strony ostrzegawcze, aby chronić użytkowników przed potencjalnymi atakami man-in-the-middle lub fałszywymi witrynami.

Dla właścicieli witryn błędy te nie tylko szkodzą zaufaniu użytkowników — uszkadzają rankingi SEO, zmniejszają konwersje i mogą sygnalizować głębsze problemy infrastruktury, które wymagają natychmiastowej uwagi.

Najczęstsze błędy bezpieczeństwa SSL wyjaśnione

1. NET::ERR_CERT_COMMON_NAME_INVALID

Co to oznacza: Nazwa domeny wymieniona w Common Name (CN) lub Subject Alternative Names (SANs) certyfikatu SSL nie pasuje do domeny, do której przeglądarka próbuje się dostać.

Częste przyczyny:

  • Certyfikat wydany dla www.example.com, ale witryna jest dostępna za pośrednictwem example.com (lub odwrotnie)
  • Certyfikat wildcard (*.example.com), który nie obejmuje domeny głównej
  • Certyfikat z innej domeny przypadkowo zastosowany do serwera
  • Błędnie skonfigurowane hosty wirtualne na Apache lub Nginx

2. Certyfikat SSL wygasł (NET::ERR_CERT_DATE_INVALID)

Co to oznacza: Każdy certyfikat SSL ma okres ważności — zwykle 90 dni dla Let’s Encrypt lub do 1–2 lat dla certyfikatów komercyjnych. Po upływie tego okresu przeglądarki natychmiast odrzucają połączenie.

Częste przyczyny:

  • Automatyczne odnowienie nie powiodło się w trybie cichym (błąd zadania cron, problem z DNS, port 80 zablokowany)
  • Ręczne odnowienie zostało zapomniane
  • Certyfikat został odnowiony, ale nie został przeładowany przez serwer internetowy

3. Błąd mieszanej zawartości

Co to oznacza: Strona jest serwowana przez HTTPS, ale niektóre osadzone zasoby — obrazy, pliki JavaScript, arkusze stylów, ramki iframe — są nadal ładowane przez zwykły HTTP. Przeglądarki blokują lub ostrzegają o tych niezabezpieczonych zasobach podrzędnych.

Częste przyczyny:

  • Stara zawartość z zakodowanymi na stałe adresami URL http://
  • Widżety lub skrypty stron trzecich używające punktów końcowych HTTP
  • Witryna zmigrowana z HTTP na HTTPS bez aktualizacji linków wewnętrznych

4. NET::ERR_CERT_AUTHORITY_INVALID

Co to oznacza: Certyfikat został wydany przez Urząd Certyfikacji (CA), któremu przeglądarka nie ufa. Może się to zdarzyć w przypadku certyfikatów z podpisem własnym lub certyfikatów od prywatnych/wewnętrznych urzędów certyfikacji.

Częste przyczyny:

  • Certyfikat z podpisem własnym używany w środowisku produkcyjnym
  • Niekompletny łańcuch certyfikatów (brakujące certyfikaty pośrednie)
  • Certyfikat od urzędu certyfikacji, który został wycofany z zaufania przez dostawców przeglądarek

5. SSL_ERROR_RX_RECORD_TOO_LONG / Niezgodność protokołu

Co to oznacza: Przeglądarka i serwer nie mogą uzgodnić wspólnej wersji protokołu SSL/TLS lub zestawu szyfrów. Często zdarza się to, gdy serwer nadal obsługuje przestarzałe protokoły, takie jak SSLv3 lub TLS 1.0.

Częste przyczyny:

  • Serwer skonfigurowany do używania przestarzałych wersji TLS
  • Zapora sieciowa lub moduł równoważenia obciążenia przechwytujący ruch HTTPS na złym porcie
  • Ruch HTTP wysyłany do portu HTTPS

6. Przestarzała przeglądarka

Co to oznacza: Starsze przeglądarki mogą nie obsługiwać nowoczesnych wersji TLS (TLS 1.2 lub 1.3), nowszych zestawów szyfrów lub zaktualizowanych formatów certyfikatów, co powoduje, że ważne certyfikaty wydają się uszkodzone.

Jak naprawić błędy SSL jako użytkownik

Jeśli odwiedzasz witrynę i napotykasz ostrzeżenia SSL, problem może nie zawsze być po stronie serwera. Oto kroki, aby wyeliminować problemy po stronie klienta:

Stare dane w pamięci podręcznej mogą spowodować, że przeglądarka odwołuje się do starej, nieprawidłowej odpowiedzi certyfikatu.

Chrome:

  1. Naciśnij Ctrl + Shift + Delete (Windows/Linux) lub Cmd + Shift + Delete (Mac)
  2. Ustaw zakres czasu na Cały czas
  3. Zaznacz Obrazy i pliki w pamięci podręcznej oraz Pliki cookie i inne dane witryn
  4. Kliknij Wyczyść dane

Firefox:

  1. Przejdź do Ustawienia → Prywatność i bezpieczeństwo → Pliki cookie i dane witryn
  2. Kliknij Wyczyść dane

Po wyczyszczeniu zamknij i ponownie otwórz przeglądarkę, a następnie ponownie odwiedź witrynę.

Krok 2: Sprawdź datę i godzinę systemu

Walidacja certyfikatu SSL jest wrażliwa na czas. Jeśli zegar systemowy jest nieprawidłowy — nawet o dzień — przeglądarka może stwierdzić, że ważny certyfikat wygasł lub nie jest jeszcze aktywny.

Windows:

  1. Kliknij prawym przyciskiem myszy zegar na pasku zadań → Dostosuj datę/godzinę
  2. Włącz Ustaw czas automatycznie i Ustaw strefę czasową automatycznie

macOS:

  1. Przejdź do Ustawienia systemowe → Ogólne → Data i godzina
  2. Włącz Ustaw datę i godzinę automatycznie

Linux:

sudo timedatectl set-ntp true
timedatectl status

Krok 3: Zaktualizuj przeglądarkę

Nowoczesne certyfikaty SSL/TLS używają algorytmów i rozszerzeń, które starsze wersje przeglądarek nie obsługują. Zawsze uruchamiaj najnowszą stabilną wersję przeglądarki.

  • Chrome: Menu → Pomoc → O Google Chrome → Aktualizuj
  • Firefox: Menu → Pomoc → O Firefox → Aktualizuj
  • Edge: Menu → Pomoc i opinie → O Microsoft Edge → Aktualizuj

Krok 4: Tymczasowo wyłącz VPN lub proxy

VPN i proxy mogą przechwytywać połączenia HTTPS i zastępować je własnymi certyfikatami, wyzwalając ostrzeżenia przeglądarki. Tymczasowo je wyłącz, aby ustalić, czy są źródłem błędu.

Krok 5: Sprawdź skanowanie HTTPS antywirusa

Niektóre programy antywirusowe wykonują inspekcję SSL, wstrzykując własne certyfikaty. Jeśli certyfikat główny antywirusa nie jest zaufany przez przeglądarkę, powoduje to błędy SSL. Sprawdź ustawienia antywirusa i w razie potrzeby wyłącz skanowanie HTTPS.

Jak naprawić błędy SSL jako właściciel witryny

Jeśli Twoja witryna wyrzuca błędy SSL, poniższe kroki pomogą Ci systematycznie je zdiagnozować i rozwiązać.

Naprawa 1: Odnów wygasły certyfikat SSL

Używając Let’s Encrypt z Certbot:

Najpierw sprawdź datę wygaśnięcia bieżącego certyfikatu:

sudo certbot certificates

Aby odnowić wszystkie certyfikaty zarządzane przez Certbot:

sudo certbot renew

Aby wymusić odnowienie, nawet jeśli certyfikat nie jest bliski wygaśnięcia:

sudo certbot renew --force-renewal

Po odnowieniu przeładuj serwer internetowy, aby zastosować nowy certyfikat:

# For Nginx
sudo systemctl reload nginx

# For Apache
sudo systemctl reload apache2

Zautomatyzuj odnowienie za pomocą zadania cron:

sudo crontab -e

Dodaj następujący wiersz, aby sprawdzić odnowienie dwa razy dziennie (zalecane przez Let’s Encrypt):

0 0,12 * * * certbot renew --quiet --post-hook "systemctl reload nginx"

> Porada pro: Jeśli hostujesz na AlexHost VPS Hosting, Certbot można zainstalować i skonfigurować bezpośrednio na Twoim Linux VPS, dając Ci pełną kontrolę nad zarządzaniem certyfikatami i automatycznymi odnowieniami.

Naprawa 2: Rozwiąż NET::ERR_CERT_COMMON_NAME_INVALID

Ten błąd wymaga weryfikacji, że Twój certyfikat obejmuje dokładne domeny, które używa Twoja witryna.

Sprawdź, jakie domeny obejmuje Twój certyfikat:

sudo certbot certificates

Lub sprawdź certyfikat bezpośrednio:

openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -text | grep -A2 "Subject Alternative Name"

Jeśli certyfikat nie obejmuje zarówno example.com jak i www.example.com, wydaj go ponownie z obydwoma:

sudo certbot --nginx -d example.com -d www.example.com

Lub z Apache:

sudo certbot --apache -d example.com -d www.example.com

Sprawdź konfigurację hosta wirtualnego (Nginx):

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}

Upewnij się, że server_name dokładnie pasuje do domen na certyfikacie.

Naprawa 3: Napraw błędy mieszanej zawartości

Mieszana zawartość jest jednym z najczęstszych problemów po migracji witryny z HTTP na HTTPS.

Krok 1: Zidentyfikuj mieszaną zawartość

Otwórz Narzędzia deweloperskie przeglądarki (F12) → zakładka Konsola. Ostrzeżenia o mieszanej zawartości pojawiają się jako:

Mixed Content: The page at 'https://example.com' was loaded over HTTPS, 
but requested an insecure resource 'http://example.com/image.jpg'.

Krok 2: Zaktualizuj zakodowane na stałe linki HTTP w bazie danych (przykład WordPress)

Użyj narzędzia WP-CLI lub wtyczki takiej jak „Better Search Replace”, aby zaktualizować wszystkie odniesienia HTTP:

wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid

Krok 3: Dodaj nagłówek uaktualniania HTTPS w Nginx

add_header Content-Security-Policy "upgrade-insecure-requests;";

Lub w .htaccess Apache:

Header always set Content-Security-Policy "upgrade-insecure-requests;"

Krok 4: Wymuś przekierowania HTTPS

W Nginx:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

W Apache .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Naprawa 4: Rozwiąż problemy z łańcuchem certyfikatów (ERR_CERT_AUTHORITY_INVALID)

Niekompletny łańcuch certyfikatów jest częstą przyczyną tego błędu, szczególnie gdy brakuje certyfikatu pośredniego.

Sprawdź łańcuch za pomocą OpenSSL:

openssl s_client -connect yourdomain.com:443 -showcerts

Poszukaj pełnego łańcucha: certyfikat Twojej domeny → pośredni CA → główny CA.

Naprawa w Nginx — upewnij się, że używasz fullchain.pem (nie tylko cert.pem):

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

Naprawa w Apache:

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Użyj testu SSL Labs Server Test, aby zweryfikować, że pełny łańcuch certyfikatów jest prawidłowo serwowany.

Naprawa 5: Zaktualizuj konfigurację protokołu TLS

Wyłącz przestarzałe protokoły i wymuś TLS 1.2 i TLS 1.3 na serwerze.

Nginx — zalecana konfiguracja TLS:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;

Apache — zalecana konfiguracja TLS:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

Przeładuj serwer internetowy po wprowadzeniu zmian.

Naprawa 6: Włącz HTTP Strict Transport Security (HSTS)

HSTS instruuje przeglądarki, aby zawsze używały HTTPS dla Twojej domeny, zapobiegając atakom obniżającym protokół i problemom z mieszaną zawartością.

Nginx:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Apache:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

> Ostrzeżenie: Włącz HSTS z preload tylko wtedy, gdy jesteś pewny, że cała Twoja witryna działa na HTTPS. Ta dyrektywa jest bardzo trudna do cofnięcia.

Typy certyfikatów SSL: Wybór właściwego

Nie wszystkie certyfikaty SSL są równe. Wybór właściwego typu dla Twojego przypadku użycia zapobiega wielu typowym błędom od samego początku.

Typ certyfikatuNajlepszy dlaZasięg
Walidacja domeny (DV)Blogi, witryny osobistePojedyncza domena lub wildcard
Walidacja organizacji (OV)Witryny biznesowePojedyncza domena lub wildcard
Rozszerzona walidacja (EV)E-commerce, bankowośćPojedyncza domena
Wildcard SSLWitryny z poddomenami*.example.com
Wiele domen (SAN)Wiele domenDo 100+ domen
Let’s Encrypt (bezpłatny DV)Każda witrynaPojedyncza domena lub wildcard

W przypadku profesjonalnych witryn i sklepów internetowych inwestycja w zaufany, komercyjnie wydany certyfikat dodaje dodatkową warstwę wiarygodności. AlexHost oferuje Certyfikaty SSL dla wszystkich typów witryn, od podstawowych certyfikatów DV do zaawansowanych opcji wielodomenowych.

Proaktywne zarządzanie SSL: Zapobieganie błędom zanim się pojawią

Reaktywne naprawianie błędów SSL jest kosztowne. Oto jak być o krok do przodu:

1. Monitoruj wygaśnięcie certyfikatu

Skonfiguruj narzędzia monitorujące, które ostrzegają Cię przed wygaśnięciem certyfikatu:

  • UptimeRobot — bezpłatne monitorowanie SSL z alertami e-mail/SMS
  • Wbudowane odnowienie Certbot — automatycznie odnawia certyfikaty Let’s Encrypt 30 dni przed wygaśnięciem
  • Nagios / Zabbix — monitorowanie klasy enterprise dla administratorów serwerów

2. Używaj niezawodnego środowiska hostingowego

Błędy SSL są często objawami słabo skonfigurowanego lub niedostatecznie zasobów hostingowego. Plan VPS Hosting daje Ci dostęp root do zarządzania własnymi certyfikatami SSL, precyzyjnego konfigurowania ustawień TLS i automatyzacji odnowień — coś, co środowiska hostingu współdzielonego często ograniczają.

W przypadku większych operacji wymagających maksymalnej wydajności i dedykowanych zasobów,

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij