ERR_SSL_PROTOCOL_ERROR: Jak naprawić (Chrome, Edge, wszystkie przeglądarki)

Czym jest ERR_SSL_PROTOCOL_ERROR?
ERR_SSL_PROTOCOL_ERROR to błąd przeglądarki, który pojawia się, gdy uzgadnianie SSL/TLS między przeglądarką a serwerem internetowym nie powiedzie się. Przeglądarka nie może nawiązać bezpiecznego szyfrowanego połączenia, więc blokuje stronę całkowicie, aby chronić użytkownika przed przesyłaniem danych przez niezabezpieczony kanał.
Każde połączenie HTTPS rozpoczyna się od uzgadniania TLS — negocjacji, podczas której przeglądarka i serwer uzgadniają protokół szyfrowania (TLS 1.2 lub 1.3), wymieniają certyfikaty i weryfikują swoją tożsamość. ERR_SSL_PROTOCOL_ERROR oznacza, że ta negocjacja została przerwana przed jej zakończeniem.
Błąd nie jest kodem statusu HTTP po stronie serwera — pojawia się w przeglądarce, zanim jakiekolwiek żądanie HTTP zostanie wysłane. Wewnętrzny kod błędu Chromium to net::ERR_SSL_PROTOCOL_ERROR (kod błędu -107), zdefiniowany w kodzie źródłowym Chromium jako niepowodzenie w negocjowaniu akceptowalnego zestawu parametrów bezpieczeństwa.
Jak wygląda ERR_SSL_PROTOCOL_ERROR
Chrome i inne przeglądarki oparte na Chromium wyświetlają ten błąd jako pełnoekranowe ostrzeżenie z komunikatem "Ta witryna nie może zapewnić bezpiecznego połączenia." Poniżej widoczny jest konkretny kod błędu. Oto najczęstsze warianty, jakie można napotkać.
ERR_SSL_PROTOCOL_ERROR — standardowy kod błędu w pasku adresu Chrome
net::ERR_SSL_PROTOCOL_ERROR — pełny wewnętrzny kod błędu wyświetlany w konsoli Chrome DevTools
Ta witryna nie może zapewnić bezpiecznego połączenia — komunikat widoczny dla użytkownika w Chrome
[domena] przesłała nieprawidłową odpowiedź — szczegółowy tekst błędu wyświetlany przez Chrome pod nagłówkiem
ERR_SSL_PROTOCOL_ERROR we wszystkich przeglądarkach — gdy błąd pojawia się jednocześnie w Chrome, Edge, Brave i Opera (wskazuje na problem po stronie serwera lub systemowy, a nie błąd konkretnej przeglądarki)
Co powoduje ERR_SSL_PROTOCOL_ERROR?
Ten błąd ma zarówno przyczyny po stronie klienta (Twoje urządzenie), jak i po stronie serwera (strona internetowa). Określenie, po której stronie leży problem, to pierwszy krok do naprawy. Jeśli błąd pojawia się na każdej stronie, problem jest po Twojej stronie. Jeśli pojawia się tylko na jednej konkretnej stronie, przyczyna jest prawdopodobnie po stronie serwera.
Nieprawidłowa data/godzina systemowa — Najczęstsza przyczyna po stronie użytkownika. Certyfikaty SSL są zależne od czasu — jeśli zegar komputera rozmija się nawet o kilka minut, walidacja certyfikatu kończy się niepowodzeniem, a uzgadnianie TLS zostaje przerwane.
Wygasły lub nieprawidłowy certyfikat SSL — Certyfikat SSL strony wygasł, jest samopodpisany lub został wystawiony dla innej domeny. Każdy certyfikat można natychmiast sprawdzić za pomocą naszego narzędzia SSL Checker.
Przestarzały protokół TLS — Serwer obsługuje tylko przestarzałe protokoły (SSL 3.0, TLS 1.0, TLS 1.1), których nowoczesne przeglądarki odmawiają używania. Chrome, Edge i Firefox wycofały wsparcie dla TLS 1.0/1.1 w 2020 roku.
Uszkodzony stan SSL przeglądarki — Przeglądarka przechowuje w pamięci podręcznej stare dane sesji SSL, preferencje HSTS lub informacje o certyfikatach, które kolidują z bieżącą próbą połączenia.
Konflikt protokołu QUIC — Eksperymentalny protokół QUIC (HTTP/3) w Chrome może czasami zakłócać negocjacje TLS na serwerach, które nie obsługują go prawidłowo.
Skanowanie SSL/HTTPS przez antywirus — Oprogramowanie zabezpieczające, które przechwytuje ruch HTTPS (Avast, Kaspersky, Bitdefender, ESET), może przerwać uzgadnianie TLS, wstawiając własny certyfikat do połączenia.
Niekompletny łańcuch certyfikatów — Serwer wysyła swój certyfikat SSL, ale nie certyfikaty pośrednie potrzebne do weryfikacji łańcucha zaufania aż do głównego urzędu certyfikacji.
Zakłócenia VPN lub proxy — Sieci VPN i korporacyjne serwery proxy, które inspekcjonują ruch HTTPS, mogą uszkodzić uzgadnianie TLS, szczególnie przy przełączaniu między sieciami.
Rozszerzenia przeglądarki — Rozszerzenia prywatności, blokery reklam i dodatki bezpieczeństwa, które modyfikują żądania HTTPS, mogą zakłócać uzgadnianie SSL.
Zapora sieciowa blokuje port 443 — Zapora sieciowa lub router blokuje standardowy port HTTPS (443), uniemożliwiając zakończenie uzgadniania TLS.
Jak naprawić ERR_SSL_PROTOCOL_ERROR (Dla użytkowników)
Jeśli ten błąd pojawia się podczas przeglądania internetu, zacznij od najprostszych rozwiązań. Większość przypadków rozwiązują trzy pierwsze poniższe metody.
Rozwiązanie 1: Sprawdź datę i godzinę systemową
Nieprawidłowy zegar systemowy to najczęstsza przyczyna ERR_SSL_PROTOCOL_ERROR. Certyfikaty SSL mają okres ważności (data "Nie wcześniej niż" / "Nie później niż"), a jeśli czas systemowy wykracza poza ten zakres, uzgadnianie kończy się niepowodzeniem. Nawet rozbieżność o kilka minut może powodować problemy przy ścisłej walidacji certyfikatów.
Upewnij się, że komputer automatycznie synchronizuje czas.
Windows: Ustawienia → Czas i język → Data i godzina → Włącz "Ustaw czas automatycznie" i "Ustaw strefę czasową automatycznie"
Mac: Ustawienia systemowe → Ogólne → Data i godzina → Włącz "Ustaw datę i godzinę automatycznie"
Linux: Uruchom
sudo timedatectl set-ntp true, aby włączyć synchronizację NTP
Rozwiązanie 2: Wyczyść stan SSL (Windows)
Windows utrzymuje własną pamięć podręczną certyfikatów SSL, niezależną od przeglądarki. Nieaktualne lub uszkodzone wpisy w tej pamięci podręcznej mogą powodować trwały ERR_SSL_PROTOCOL_ERROR nawet po wyczyszczeniu pamięci podręcznej przeglądarki.
Aby wyczyścić stan SSL w systemie Windows: otwórz Opcje internetowe (wyszukaj w menu Start lub wpisz inetcpl.cpl w oknie Uruchom) → kliknij kartę Zawartość → kliknij Wyczyść stan SSL → kliknij OK. Następnie uruchom ponownie przeglądarkę.
Rozwiązanie 3: Wyczyść pamięć podręczną i pliki cookie przeglądarki
Uszkodzone dane w pamięci podręcznej lub nieaktualne wpisy HSTS (HTTP Strict Transport Security) mogą zmuszać przeglądarkę do nawiązywania połączeń z przestarzałymi parametrami, co wywołuje błąd protokołu SSL.
Krok 1: Otwórz Ustawienia Chrome → Prywatność i bezpieczeństwo → Wyczyść dane przeglądania (lub naciśnij
Ctrl+Shift+Delete)Krok 2: Przejdź na kartę Zaawansowane
Krok 3: Ustaw zakres czasu na Cały czas
Krok 4: Zaznacz Obrazy i pliki zapisane w pamięci podręcznej, Pliki cookie i inne dane witryn oraz Dane hostowanych aplikacji
Krok 5: Kliknij Wyczyść dane i uruchom ponownie Chrome
W przypadku pojedynczej witryny można również wyczyścić dane tylko dla niej: przejdź do chrome://settings/content/all → wyszukaj domenę → kliknij ikonę kosza.
Rozwiązanie 4: Wyłącz protokół QUIC
Chrome domyślnie używa protokołu QUIC (HTTP/3 przez UDP) dla szybszych połączeń. Niektóre serwery, zapory sieciowe i urządzenia sieciowe nie obsługują jednak prawidłowo QUIC, co może powodować błędy uzgadniania SSL. Wyłączenie QUIC zmusza Chrome do korzystania ze standardowych połączeń TLS opartych na TCP.
Krok 1: Wpisz
chrome://flags/#enable-quicw pasku adresuKrok 2: Znajdź Eksperymentalny protokół QUIC
Krok 3: Zmień z Domyślny na Wyłączony
Krok 4: Kliknij Uruchom ponownie, aby zrestartować Chrome
Jeśli po wyłączeniu QUIC błąd zniknie, problem dotyczy implementacji HTTP/3 serwera lub Twoja sieć blokuje port UDP 443. Możesz pozostawić QUIC wyłączony bez negatywnych konsekwencji — strony będą ładowane przez standardowe HTTPS (HTTP/2 przez TCP).
Rozwiązanie 5: Wyłącz rozszerzenia przeglądarki
Rozszerzenia przechwytujące lub modyfikujące ruch sieciowy — blokery reklam, rozszerzenia VPN, osłony prywatności i HTTPS Everywhere — mogą zakłócać uzgadnianie TLS. Niektóre rozszerzenia wstawiają własne certyfikaty lub modyfikują nagłówki żądań w sposób, który uniemożliwia negocjację SSL.
Przejdź do chrome://extensions/, wyłącz wszystkie rozszerzenia i załaduj stronę ponownie. Jeśli błąd zniknie, włączaj rozszerzenia po kolei, aby znaleźć sprawcę. Najczęstszymi winowajcami są: uBlock Origin (rzadko), Avast Online Security, Norton Safe Web i HTTPS Everywhere.
Rozwiązanie 6: Wyłącz skanowanie SSL/HTTPS w antywirusie
Wiele programów antywirusowych (Avast, Kaspersky, Bitdefender, ESET, Norton) zawiera funkcję "skanowania HTTPS" lub "inspekcji SSL", która przechwytuje szyfrowane połączenia, działając jako pośrednik (man-in-the-middle proxy). Może to zakłócać uzgadnianie TLS, szczególnie w przypadku stron korzystających z przypinania certyfikatów lub nowszych funkcji TLS 1.3.
W programie antywirusowym poszukaj ustawień o nazwie Web Shield, Skanowanie HTTPS, Skanowanie SSL lub Skanowanie szyfrowanych połączeń i tymczasowo je wyłącz. Jeśli błąd zniknie, możesz dodać problematyczną domenę do listy wyjątków antywirusa.
Rozwiązanie 7: Zaktualizuj przeglądarkę
Starsze wersje przeglądarek mogą nie obsługiwać protokołów TLS lub zestawów szyfrów wymaganych przez nowoczesne strony internetowe. Chrome regularnie aktualizuje swoje wymagania bezpieczeństwa — na przykład Chrome 98 całkowicie wycofał wsparcie dla TLS 1.0 i 1.1.
Aktualizacja Chrome: przejdź do chrome://settings/help lub Menu → Pomoc → Google Chrome — informacje. Chrome automatycznie pobiera aktualizacje, ale wymaga ponownego uruchomienia, aby je zastosować. Dla Edge: edge://settings/help. Dla Firefox: Menu → Pomoc → O programie Firefox.
Rozwiązanie 8: Wyczyść pamięć podręczną DNS
Nieaktualne rekordy DNS mogą kierować przeglądarkę na niewłaściwy serwer lub przestarzały adres IP, który nie posiada już ważnego certyfikatu SSL. Wyczyszczenie pamięci podręcznej DNS wymusza nowe wyszukiwanie DNS.
# Windows (Command Prompt as Admin)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# Linux
sudo systemd-resolve --flush-caches
# Chrome internal DNS cache
# Visit chrome://net-internals/#dns → Click "Clear host cache"Po wyczyszczeniu pamięci podręcznej sprawdź, czy domena rozwiązuje się na prawidłowy adres IP, za pomocą narzędzia DNS Lookup w DNS Robot. Jeśli adres IP wygląda na nieprawidłowy, strona mogła zmienić dostawcę hostingu, a propagacja DNS nie została jeszcze zakończona.
Rozwiązanie 9: Wypróbuj tryb incognito / prywatny
Tryb incognito uruchamia przeglądarkę z czystym stanem — bez danych z pamięci podręcznej, bez plików cookie, bez rozszerzeń (chyba że zostały one jawnie dozwolone w trybie incognito). Jeśli strona ładuje się w trybie incognito, ale nie w normalnym trybie, problem jest spowodowany rozszerzeniem przeglądarki, danymi z pamięci podręcznej lub uszkodzonym profilem przeglądarki.
Otwórz okno incognito: Ctrl+Shift+N (Chrome/Edge) lub Ctrl+Shift+P (Firefox). Przejdź do tej samej strony. Jeśli się załaduje, wyczyść pamięć podręczną przeglądarki (Rozwiązanie 3) lub sprawdź rozszerzenia (Rozwiązanie 5).
Rozwiązanie 10: Wyłącz VPN lub proxy
Sieci VPN i serwery proxy HTTP znajdują się pomiędzy przeglądarką a serwerem internetowym. Niektóre sieci VPN inspekcjonują ruch HTTPS, wstawiają własne certyfikaty lub kierują połączenia przez serwery z nieprawidłową konfiguracją SSL. Korporacyjne serwery proxy często używają przechwytywania SSL (podobnie jak skanowanie HTTPS w antywirusie), co może zakłócać uzgadnianie TLS.
Tymczasowo odłącz VPN i spróbuj załadować stronę. Jeśli działa bez VPN, problem dotyczy sposobu, w jaki VPN obsługuje połączenia SSL. Spróbuj innego serwera VPN lub skontaktuj się z dostawcą VPN.
Rozwiązanie 11: Zresetuj ustawienia sieciowe (Ostateczność)
Jeśli żadne z powyższych rozwiązań nie działa, zresetuj stos sieciowy. Spowoduje to usunięcie wszystkich niestandardowych konfiguracji sieciowych i przywrócenie domyślnych ustawień — w tym ustawień DNS, konfiguracji proxy i połączeń socketów.
# Windows (Command Prompt as Admin)
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
# Then restart your computer
# macOS — reset DNS settings
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
# Linux — restart NetworkManager
sudo systemctl restart NetworkManagerJak naprawić ERR_SSL_PROTOCOL_ERROR (Dla właścicieli stron)
Jeśli wielu użytkowników zgłasza ERR_SSL_PROTOCOL_ERROR na Twojej stronie, problem leży po stronie serwera. Najczęstszymi przyczynami po stronie serwera są wygasłe certyfikaty, brakujące certyfikaty pośrednie i przestarzałe konfiguracje TLS.
Sprawdź certyfikat SSL
Pierwszym krokiem jest sprawdzenie, czy certyfikat SSL jest ważny, prawidłowo zainstalowany i nie wygasł. Użyj narzędzia SSL Checker w DNS Robot, aby natychmiast sprawdzić status certyfikatu, datę wygaśnięcia, wystawcę i łańcuch certyfikatów.
Typowe problemy z certyfikatami powodujące ERR_SSL_PROTOCOL_ERROR:
Wygasły certyfikat — Certyfikaty Let's Encrypt wygasają co 90 dni. Jeśli automatyczne odnawianie nie powiodło się (zadanie cron certbota nie działa, wyzwanie DNS uszkodzone), certyfikat po cichu wygasa.
Nieprawidłowa domena — Certyfikat został wystawiony dla
example.com, ale strona jest serwowana podwww.example.com(lub odwrotnie). Certyfikat musi odpowiadać dokładnej domenie lub zawierać wpis wildcard (*.example.com).Certyfikat samopodpisany — Certyfikaty deweloperskie nie są uznawane za zaufane przez przeglądarki w środowisku produkcyjnym.
Unieważniony certyfikat — Urząd certyfikacji unieważnił certyfikat (z powodu kompromitacji klucza, błędnego wystawienia lub zmiany właściciela domeny).
# Check certificate from command line
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -subject -issuer
# Check certificate chain completeness
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(depth|verify)"
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewalWłącz TLS 1.2 i TLS 1.3
Wszystkie nowoczesne przeglądarki wymagają co najmniej TLS 1.2. Jeśli serwer obsługuje tylko TLS 1.0 lub 1.1, przeglądarki odmówią połączenia i wyświetlą ERR_SSL_PROTOCOL_ERROR. TLS 1.3 to najnowszy standard, znacząco szybszy od TLS 1.2 — włącz oba protokoły dla maksymalnej kompatybilności i wydajności.
# Nginx — ssl_protocols in nginx.conf or site config
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';
ssl_prefer_server_ciphers on;
# Apache — in httpd.conf or ssl.conf
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder onPo aktualizacji konfiguracji TLS uruchom ponownie serwer internetowy (sudo systemctl restart nginx lub sudo systemctl restart apache2) i przetestuj za pomocą narzędzia SSL Checker w DNS Robot, aby potwierdzić, że protokoły są aktywne.
Zainstaluj kompletny łańcuch certyfikatów
Niekompletny łańcuch certyfikatów to częsta, ale trudna do zdiagnozowania przyczyna ERR_SSL_PROTOCOL_ERROR. Serwer musi wysyłać nie tylko certyfikat SSL, ale także certyfikaty pośrednie, które łączą certyfikat z zaufanym głównym urzędem certyfikacji. Bez nich niektóre przeglądarki i urządzenia nie mogą zweryfikować certyfikatu.
Większość urzędów certyfikacji udostępnia plik "CA bundle" lub "full chain". Dla Let's Encrypt należy użyć fullchain.pem (nie samego cert.pem). W przypadku innych urzędów certyfikacji pobierz certyfikat pośredni z ich dokumentacji i połącz go ze swoim certyfikatem.
# Nginx — use fullchain, not just cert
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# Apache
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pemSprawdź konfigurację HSTS
HSTS (HTTP Strict Transport Security) nakazuje przeglądarkom, aby zawsze używały HTTPS dla Twojej domeny. Jeśli polityka HSTS ma długi max-age, a certyfikat SSL później się zepsuje, przeglądarki odmówią połączenia — nie mogą wrócić do HTTP, a uszkodzony HTTPS wywołuje ERR_SSL_PROTOCOL_ERROR.
Sprawdź nagłówek HSTS za pomocą narzędzia HTTP Headers w DNS Robot. Jeśli ustawiono bardzo długi max-age (np. 2 lata) i certyfikat wygasł, użytkownicy, którzy wcześniej odwiedzili Twoją stronę, są zmuszeni do korzystania z HTTPS bez możliwości powrotu. Aby to naprawić, najpierw odnów certyfikat SSL, a przeglądarki ponownie połączą się normalnie.
Sprawdź konfigurację serwera
Nieprawidłowo skonfigurowane serwery internetowe mogą powodować ERR_SSL_PROTOCOL_ERROR nawet przy ważnym certyfikacie. Typowe błędy konfiguracji serwera obejmują:
Nieprawidłowy port — SSL/TLS powinien działać na porcie 443. Jeśli serwer nasłuchuje na innym porcie, przeglądarki mogą nie móc przeprowadzić uzgadniania.
Mieszany HTTP/HTTPS — Serwowanie części zasobów przez HTTP na stronie HTTPS wywołuje ostrzeżenia o mieszanej zawartości i może zakłócać uzgadnianie dla podzasobów.
Brak konfiguracji SNI (Server Name Indication) — Jeśli wiele domen współdzieli jeden adres IP, serwer musi obsługiwać SNI, aby serwować prawidłowy certyfikat dla każdej domeny.
Niezgodność zestawów szyfrów — Serwer obsługuje tylko zestawy szyfrów, których przeglądarka nie akceptuje. Używaj silnych, nowoczesnych szyfrów takich jak AES-GCM i ChaCha20.
Użyj narzędzia HTTP Headers Checker w DNS Robot, aby sprawdzić nagłówki odpowiedzi serwera i zweryfikować, czy konfiguracja SSL wysyła prawidłowe nagłówki.
ERR_SSL_PROTOCOL_ERROR na Androidzie
Użytkownicy Androida napotykają ERR_SSL_PROTOCOL_ERROR zarówno w Chrome na Androida, jak i w aplikacjach opartych na WebView. Rozwiązania różnią się nieco od tych na komputerze, ponieważ Android zarządza certyfikatami i ustawieniami sieciowymi w inny sposób.
Sprawdź datę i godzinę — Ustawienia → System → Data i godzina → Włącz "Automatyczna data i godzina" oraz "Automatyczna strefa czasowa"
Wyczyść dane Chrome — Ustawienia → Aplikacje → Chrome → Pamięć → Wyczyść pamięć podręczną (jeśli to nie pomoże, wyczyść dane)
Zaktualizuj Chrome — Otwórz Sklep Google Play → Moje aplikacje → Zaktualizuj Chrome do najnowszej wersji
Wyczyść dane uwierzytelniające sieci — Ustawienia → Bezpieczeństwo → Wyczyść dane uwierzytelniające (usunie wszystkie certyfikaty zainstalowane przez użytkownika)
Zresetuj ustawienia sieciowe — Ustawienia → System → Opcje resetowania → Resetuj Wi-Fi, sieć komórkową i Bluetooth
Dla aplikacji WebView — Programiści powinni upewnić się, że ustawiono
android:usesCleartextTraffic="false"oraz że konfiguracja bezpieczeństwa sieci ufa prawidłowym urzędom certyfikacji
ERR_SSL_PROTOCOL_ERROR w innych przeglądarkach
ERR_SSL_PROTOCOL_ERROR to kod błędu specyficzny dla Chromium. Inne przeglądarki wyświetlają odmienne komunikaty o błędach dla tego samego problemu z uzgadnianiem SSL.
| Przeglądarka | Komunikat o błędzie | Kod błędu |
|---|---|---|
| Chrome / Edge / Brave / Opera | Ta witryna nie może zapewnić bezpiecznego połączenia | ERR_SSL_PROTOCOL_ERROR |
| Firefox | Bezpieczne połączenie nie powiodło się | SSL_ERROR_RX_MALFORMED_HANDSHAKE |
| Safari | Safari nie może nawiązać bezpiecznego połączenia | Brak wyświetlanego kodu |
| Internet Explorer | Nie można wyświetlić tej strony | Włącz TLS 1.0, 1.1, 1.2 w Opcjach internetowych |
Jeśli błąd pojawia się we wszystkich przeglądarkach jednocześnie, problem jest albo systemowy (zła data/godzina, antywirus, sieć), albo po stronie serwera (wygasły certyfikat, błędna konfiguracja TLS). Jeśli pojawia się tylko w jednej przeglądarce, problem dotyczy tej konkretnej przeglądarki — spróbuj wyczyścić jej pamięć podręczną i stan SSL.
ERR_SSL_PROTOCOL_ERROR na Localhost (Programiści)
Programiści często napotykają komunikat localhost sent an invalid response. ERR_SSL_PROTOCOL_ERROR podczas uruchamiania lokalnych serwerów deweloperskich. Dzieje się tak, ponieważ przeglądarka oczekuje ważnego certyfikatu SSL dla połączeń HTTPS, a localhost używa certyfikatu samopodpisanego lub nie posiada żadnego certyfikatu.
Użyj HTTP do lokalnego rozwoju — Zmień
https://localhost:3000nahttp://localhost:3000, chyba że konkretnie potrzebujesz HTTPSWygeneruj lokalny certyfikat — Użyj mkcert, aby utworzyć lokalnie zaufane certyfikaty SSL:
mkcert -install && mkcert localhost 127.0.0.1Node.js — Ustaw
NODE_TLS_REJECT_UNAUTHORIZED=0tylko dla środowiska deweloperskiego (nigdy w produkcji)Flaga Chrome — Wpisz
chrome://flags/#allow-insecure-localhosti włącz opcję "Zezwalaj na nieprawidłowe certyfikaty dla zasobów ładowanych z localhost"Next.js / Vite / Webpack — Te frameworki obsługują flagi
--https, które automatycznie generują certyfikaty deweloperskie
Powiązane kody błędów SSL/TLS
Chrome posiada kilka kodów błędów związanych z SSL. Każdy z nich wskazuje na inny problem z uzgadnianiem TLS lub certyfikatem.
| Kod błędu | Znaczenie | Typowa przyczyna |
|---|---|---|
| ERR_SSL_PROTOCOL_ERROR | Uzgadnianie TLS całkowicie nie powiodło się | Zły czas systemowy, niezgodność wersji TLS, konflikt QUIC |
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Brak wspólnej wersji TLS lub zestawu szyfrów | Serwer używa przestarzałego TLS 1.0/1.1, słabe szyfry |
| ERR_CERT_AUTHORITY_INVALID | Certyfikat niepodpisany przez zaufany CA | Certyfikat samopodpisany, brak certyfikatu pośredniego, wygasły root |
| ERR_CERT_DATE_INVALID | Certyfikat wygasł lub jeszcze nieważny | Wygasły certyfikat, zły zegar systemowy |
| ERR_CERT_COMMON_NAME_INVALID | Domena certyfikatu nie odpowiada adresowi URL | Certyfikat dla example.com, strona pod www.example.com |
| ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN | Walidacja przypinania certyfikatu nie powiodła się | Strona używa HPKP, a certyfikat został zmieniony |
Dla wszystkich błędów SSL możesz szybko zdiagnozować problem za pomocą narzędzia SSL Checker w DNS Robot — pokazuje status certyfikatu, kompletność łańcucha, obsługiwane wersje TLS i datę wygaśnięcia w jednym skanowaniu.
Sprawdź swój certyfikat SSL teraz
Użyj darmowego narzędzia SSL Checker od DNS Robot, aby natychmiast zweryfikować status certyfikatu, datę wygaśnięcia, łańcuch certyfikatów i obsługę protokołów TLS. Zdiagnozuj ERR_SSL_PROTOCOL_ERROR w kilka sekund.
Try SSL CheckerFrequently Asked Questions
ERR_SSL_PROTOCOL_ERROR oznacza, że przeglądarka nie zdołała nawiązać bezpiecznego połączenia TLS/SSL ze stroną internetową. Uzgadnianie TLS — proces, w którym przeglądarka i serwer negocjują szyfrowanie — zostało przerwane przed zakończeniem. Jest to błąd po stronie klienta, a nie kod statusu HTTP serwera.