Błąd protokołu SSL: co oznacza i jak go naprawić
W skrócie
ERR_SSL_PROTOCOL_ERROR oznacza, że serwer odpowiedział na próbę szyfrowanego połączenia czymś, czego przeglądarka nie rozumie; najczęściej na porcie 443 działa zwykłe http, bo dla domeny nie włączono SSL. Właściciel strony włącza SSL i instaluje certyfikat. Odwiedzający może sprawdzić stronę w innej sieci i program antywirusowy, a potem powiadomić właściciela.
„Ta witryna nie umożliwia bezpiecznego połączenia”: co to znaczy
Tym nagłówkiem Chrome zaczyna komunikat, gdy nie udało się nawiązać szyfrowanego połączenia ze stroną. Pod nagłówkiem jest jedno z dwóch zdań, a niżej kod błędu:
| Zdanie pod nagłówkiem | Kod błędu | Co to znaczy |
|---|---|---|
| „Serwer firma.pl wysłał nieprawidłową odpowiedź.” | ERR_SSL_PROTOCOL_ERROR | serwer odpowiedział czymś, czego przeglądarka nie rozumie jako połączenia szyfrowanego; najczęściej to zwykłe http na porcie 443 |
| „Serwer firma.pl używa nieobsługiwanego protokołu.” | ERR_SSL_VERSION_OR_CIPHER_MISMATCH | serwer obsługuje tylko stare wersje szyfrowania (np. TLS 1.0 i 1.1), z których przeglądarki już nie korzystają |
Edge pokazuje te same kody. Firefox w pierwszej sytuacji zwykle pokazuje „Nie udało się nawiązać bezpiecznego połączenia” z kodem SSL_ERROR_RX_RECORD_TOO_LONG.
To nie jest ostrzeżenie o certyfikacie, więc przeglądarka nie pozwala przejść dalej. Google w pomocy Chrome radzi przy tym komunikacie skontaktować się z właścicielem witryny.
Jeśli to cudza strona
- Odśwież stronę. Jeśli błąd jest tylko na tej jednej stronie, a inne działają, najpewniej problem leży po stronie jej serwera.
- Otwórz stronę w oknie incognito. Jeśli tam działa, wyłącz rozszerzenia przeglądarki i włączaj je po kolei, żeby znaleźć to, które przeszkadza.
- Sprawdź stronę w innej sieci, np. w telefonie na danych komórkowych. Jeśli tam działa, sprawdź program antywirusowy i zaporę sieciową (część z nich sprawdza połączenia szyfrowane), a także VPN albo serwer proxy, jeśli z nich korzystasz. W firmie zapytaj dział IT.
- Jeśli strona nie działa nigdzie, napisz do jej właściciela. Błędu po stronie serwera nie naprawisz sam.
Zła data w urządzeniu daje inny komunikat: „Twój zegar się śpieszy” albo ostrzeżenie o certyfikacie.
Skąd się bierze błąd protokołu SSL na Twojej stronie
- Na porcie 443 działa zwykłe http. To najczęstsza przyczyna: dla domeny nie włączono SSL w panelu hostingu albo w konfiguracji serwera port 443 nie ma włączonego szyfrowania. Szczegóły i poprawki są w poradniku SSL_ERROR_RX_RECORD_TOO_LONG.
- Niepełna albo błędna konfiguracja szyfrowania. Serwer przerywa uzgadnianie szyfrowanego połączenia komunikatem o błędzie, np. po ręcznej zmianie konfiguracji. Chrome zgłasza większość takich błędów tym samym kodem.
- Stara wersja szyfrowania daje kod
ERR_SSL_VERSION_OR_CIPHER_MISMATCH. Przeglądarki wymagają dziś co najmniej TLS 1.2.
Jak naprawić błąd na swojej stronie
- Otwórz stronę w Firefoksie. Jeśli pokaże
SSL_ERROR_RX_RECORD_TOO_LONG, serwer odpowiada zwykłym http: wykonaj kroki z poradnika o tym błędzie. - Na hostingu: włącz SSL dla domeny (w DirectAdmin „Bezpieczny SSL”, w Plesk „Obsługa SSL/TLS”), zainstaluj certyfikat według instrukcji dla swojego hostingu i przypisz go do domeny. Certyfikat wygenerujesz w generatorze.
- Na własnym serwerze: sprawdź konfigurację (
sudo nginx -talbosudo apachectl configtest) i dziennik błędów serwera z chwili otwierania strony. W nginx port 443 musi miećlisten 443 ssl;, w Apache blok<VirtualHost *:443>zSSLEngine on. Całą instalację opisujemy w instrukcji dla serwera. - Przy kodzie
ERR_SSL_VERSION_OR_CIPHER_MISMATCH: w nginx liniassl_protocolspowinna zawieraćTLSv1.2 TLSv1.3. Na hostingu poproś pomoc techniczną o włączenie TLS 1.2 i 1.3. - Jeśli po poprawkach błąd zostaje, napisz do pomocy technicznej hostingu i podaj kod błędu oraz adres strony.