ERR_SSL_VERSION_OR_CIPHER_MISMATCH: Jak naprawić (wszystkie przeglądarki)

Czym jest ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
ERR_SSL_VERSION_OR_CIPHER_MISMATCH to błąd przeglądarki, który pojawia się, gdy przeglądarka i serwer internetowy nie mogą uzgodnić wspólnej wersji protokołu TLS ani zestawu szyfrów podczas uzgadniania SSL/TLS. Przeglądarka całkowicie blokuje połączenie, ponieważ nie można ustanowić bezpiecznego kanału.
Każde połączenie HTTPS rozpoczyna się od uzgadniania TLS. Podczas tego procesu przeglądarka wysyła listę obsługiwanych wersji TLS i zestawów szyfrów (tzw. ClientHello). Serwer wybiera jeden, który również obsługuje, i odpowiada (ServerHello). Jeśli nie ma żadnych wspólnych elementów — serwer oferuje tylko protokoły lub szyfry, które przeglądarka uznała za przestarzałe lub których nie rozpoznaje — uzgadnianie natychmiast kończy się tym błędem.
Wewnętrzny kod błędu Chromium to net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH. W Firefoxie ta sama awaria wyświetla się jako SSL_ERROR_NO_CYPHER_OVERLAP. Oba oznaczają to samo: klient i serwer nie mają wspólnej podstawy do nawiązania bezpiecznego połączenia.
Jak wygląda ten błąd w poszczególnych przeglądarkach
Różne przeglądarki wyświetlają różne komunikaty błędów dla tej samej podstawowej awarii negocjacji TLS. Pełny komunikat błędu w Chrome brzmi: "Ta witryna nie może zapewnić bezpiecznego połączenia. [domena] używa nieobsługiwanego protokołu."
| Przeglądarka | Komunikat błędu | Kod błędu |
|---|---|---|
| Chrome / Edge / Brave / Opera | Ta witryna nie może zapewnić bezpiecznego połączenia — używa nieobsługiwanego protokołu | ERR_SSL_VERSION_OR_CIPHER_MISMATCH |
| Firefox | Bezpieczne połączenie nie powiodło się — nie można nawiązać bezpiecznego połączenia: brak wspólnego algorytmu szyfrowania | SSL_ERROR_NO_CYPHER_OVERLAP |
| Safari | Safari nie może otworzyć strony, ponieważ nie może nawiązać bezpiecznego połączenia z serwerem | Brak konkretnego kodu |
| cURL / OpenSSL | no protocols available / no ciphers available | SSL routines error |
Co powoduje ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
Ten błąd ma przyczyny zarówno po stronie serwera, jak i klienta. Jeśli błąd pojawia się na jednej konkretnej stronie, problem prawie na pewno leży po stronie serwera. Jeśli występuje na wielu stronach, coś na Twoim urządzeniu lub w sieci zakłóca połączenie.
Serwer używa przestarzałego TLS 1.0 lub TLS 1.1 — Chrome, Edge, Firefox i Safari wycofały obsługę TLS 1.0 i 1.1 w 2020 roku. Jeśli serwer oferuje tylko te stare protokoły, nowoczesne przeglądarki odmawiają połączenia. To najczęstsza przyczyna po stronie serwera.
Słabe lub przestarzałe zestawy szyfrów — Zestawy szyfrów takie jak RC4 (usunięty z Chrome 48 w 2016), 3DES i szyfry klasy eksportowej są blokowane przez wszystkie nowoczesne przeglądarki. Jeśli serwer oferuje tylko takie, uzgadnianie kończy się niepowodzeniem.
Certyfikat podpisany SHA-1 — Przeglądarki przestały ufać certyfikatom SHA-1 w 2017 roku. Jeśli Twój certyfikat używa SHA-1 zamiast SHA-256, zostanie odrzucony.
Wygasły certyfikat SSL — Wygasły certyfikat może w niektórych przeglądarkach wywołać ten błąd zamiast bardziej typowego ERR_CERT_DATE_INVALID, szczególnie w połączeniu z innymi błędami konfiguracji.
Niezgodność nazwy certyfikatu — Certyfikat SSL został wystawiony dla
example.com, ale strona jest dostępna podwww.example.com(lub subdomeną nieobjętą certyfikatem).Niekompletny łańcuch certyfikatów — Brakujące certyfikaty pośrednie uniemożliwiają przeglądarce weryfikację łańcucha zaufania. Dowiedz się więcej z naszego poradnika o łańcuchu certyfikatów SSL.
Błędna konfiguracja Cloudflare/CDN — Jeśli Twoja strona korzysta z Cloudflare, certyfikat SSL może nie być jeszcze aktywny (trwa to do 24 godzin), rekord DNS może być ustawiony na DNS-only zamiast Proxied, lub subdomena wielopoziomowa nie jest objęta certyfikatem Universal.
Stary system operacyjny — Windows XP, Android 4.x i inne starsze wersje systemu nie obsługują TLS 1.2 ani nowoczesnych zestawów szyfrów, więc nie mogą łączyć się z serwerami, które ich wymagają.
Skanowanie HTTPS przez antywirusa — Oprogramowanie zabezpieczające takie jak Avast, Kaspersky czy Bitdefender przechwytuje połączenia HTTPS własnymi certyfikatami, co może powodować niezgodność szyfrów.
Przeglądarka lub urządzenie wymaga aktualizacji — Bardzo stare wersje przeglądarek mogą nie obsługiwać zestawów szyfrów wymaganych przez serwer.
Jak naprawić ERR_SSL_VERSION_OR_CIPHER_MISMATCH (dla użytkowników)
Jeśli widzisz ten błąd podczas przeglądania stron, witryna prawdopodobnie ma problem SSL po stronie serwera. Możesz jednak najpierw wypróbować kilka rozwiązań po swojej stronie. Jeśli błąd pojawia się tylko na jednej stronie, przejdź do poprawek dla właścicieli stron — problem leży po stronie serwera. Jeśli pojawia się na wielu stronach, wypróbuj poniższe rozwiązania.
Poprawka 1: Wyczyść stan SSL (Windows)
Windows przechowuje w pamięci podręcznej certyfikaty SSL i dane sesji niezależnie od przeglądarki. Nieaktualne lub uszkodzone wpisy w tej systemowej pamięci podręcznej mogą powodować uporczywe błędy niezgodności szyfrów nawet po wyczyszczeniu pamięci podręcznej przeglądarki.
Otwórz menu Start i wyszukaj Opcje internetowe (lub naciśnij Win+R i wpisz inetcpl.cpl). Przejdź do zakładki Zawartość i kliknij Wyczyść stan SSL. Kliknij OK i uruchom ponownie przeglądarkę.
Poprawka 2: Wyczyść pamięć podręczną i ciasteczka przeglądarki
Zapisane w pamięci podręcznej polityki HSTS (HTTP Strict Transport Security) lub stare tokeny sesji SSL mogą zmuszać przeglądarkę do prób połączenia z przestarzałymi parametrami.
Chrome/Edge: Naciśnij
Ctrl+Shift+Delete→ ustaw na Cały okres → zaznacz Obrazy i pliki w pamięci podręcznej oraz Pliki cookie → kliknij Wyczyść daneFirefox: Naciśnij
Ctrl+Shift+Delete→ ustaw na Wszystko → zaznacz Pamięć podręczna i Ciasteczka → kliknij Wyczyść terazSafari: Menu Safari → Ustawienia → Prywatność → Zarządzaj danymi witryn → Usuń wszystkie
Dla pojedynczej domeny możesz również wyczyścić jej wpis HSTS w Chrome: przejdź do chrome://net-internals/#hsts → w sekcji "Delete domain security policies" → wpisz domenę → kliknij Delete.
Poprawka 3: Wyłącz protokół QUIC
Protokół QUIC w Chrome (HTTP/3 przez UDP) może czasami zakłócać negocjację TLS na serwerach, które go nie obsługują prawidłowo, lub gdy sprzęt sieciowy blokuje UDP na porcie 443.
Krok 1: Wpisz
chrome://flags/#enable-quicw pasku adresuKrok 2: Ustaw Experimental QUIC protocol na Disabled
Krok 3: Kliknij Relaunch, aby ponownie uruchomić Chrome
Jeśli błąd zniknie, problemem był konflikt QUIC/HTTP/3. Możesz zostawić QUIC wyłączony — strony będą ładować się przez standardowy HTTPS (HTTP/2 przez TCP) bez widocznej różnicy.
Poprawka 4: Zaktualizuj przeglądarkę i system operacyjny
Starsze przeglądarki i systemy operacyjne mogą nie obsługiwać wersji TLS ani zestawów szyfrów wymaganych przez nowoczesne strony. Jest to częsta przyczyna na starszych systemach.
Zaktualizuj Chrome na stronie chrome://settings/help. Zaktualizuj Edge na edge://settings/help. Jeśli chodzi o system operacyjny, upewnij się, że korzystasz przynajmniej z Windows 10, macOS 10.15 lub aktualnej dystrybucji Linuxa. Windows XP i Windows Vista nie obsługują natywnie TLS 1.2 i na prawie każdej nowoczesnej stronie wyświetlą ten błąd.
Poprawka 5: Wyłącz skanowanie HTTPS w antywirusie
Programy antywirusowe skanujące ruch HTTPS (Avast, Kaspersky, Bitdefender, ESET, Norton) działają jako pośrednik (man-in-the-middle) — przechwytują uzgadnianie TLS i przedstawiają przeglądarce własny certyfikat. Może to powodować niezgodność szyfrów, gdy antywirus nie obsługuje tych samych szyfrów co oryginalny serwer.
Poszukaj ustawień o nazwie Skanowanie HTTPS, Skanowanie SSL, Ochrona WWW lub Skanowanie połączeń szyfrowanych w swoim antywirusie i tymczasowo je wyłącz. Jeśli błąd zniknie, dodaj problematyczną domenę do listy wykluczeń antywirusa zamiast zostawiać tę funkcję wyłączoną.
Poprawka 6: Spróbuj trybu incognito / prywatnego
Tryb incognito używa czystego stanu przeglądarki bez danych z pamięci podręcznej, ciasteczek ani rozszerzeń. Jeśli strona ładuje się w trybie incognito, ale nie w normalnym, przyczyną błędu jest rozszerzenie przeglądarki, dane z pamięci podręcznej lub uszkodzony profil.
Otwórz tryb incognito skrótem Ctrl+Shift+N (Chrome/Edge) lub Ctrl+Shift+P (Firefox). Jeśli strona działa, wróć i wyczyść pamięć podręczną (Poprawka 2) lub wyłączaj rozszerzenia po kolei, aby znaleźć winowajcę.
Poprawka 7: Wyłącz VPN lub proxy
Sieci VPN i serwery proxy HTTP znajdują się między przeglądarką a serwerem internetowym. Niektóre sieci VPN przeprowadzają inspekcję SSL lub kierują połączenia przez serwery o ograniczonej obsłudze szyfrów. Korporacyjne serwery proxy często używają przechwytywania SSL, które może wywoływać niezgodność szyfrów.
Tymczasowo odłącz VPN i spróbuj załadować stronę bezpośrednio. Jeśli działa bez VPN, spróbuj zmienić lokalizację serwera VPN lub skontaktuj się z dostawcą VPN w sprawie kompatybilności z TLS.
Jak naprawić ERR_SSL_VERSION_OR_CIPHER_MISMATCH (dla właścicieli stron)
Jeśli użytkownicy zgłaszają ten błąd na Twojej stronie, problem leży w konfiguracji SSL/TLS serwera. Poniższe poprawki dotyczą głównych przyczyn — od problemów z certyfikatem po ustawienia protokołów i szyfrów.
Poprawka 1: Sprawdź swój certyfikat SSL
Zacznij od sprawdzenia, czy Twój certyfikat SSL jest prawidłowy, nie wygasł i obejmuje właściwą domenę. Użyj narzędzia SSL Checker od DNS Robot, aby natychmiast zeskanować status certyfikatu, datę wygaśnięcia, wystawcę i kompletność łańcucha.
Typowe problemy z certyfikatem powodujące ten błąd:
Wygasły certyfikat — Certyfikaty Let's Encrypt wygasają co 90 dni. Jeśli automatyczne odnawianie nie zadziałało, certyfikat po cichu wygasa, a przeglądarki odmawiają połączenia.
Niewłaściwa domena — Certyfikat obejmuje
example.com, ale strona jest serwowana podwww.example.comlub subdomeną. Certyfikat musi odpowiadać dokładnej domenie lub zawierać symbol wieloznaczny (*.example.com).Certyfikat SHA-1 — Wszystkie główne przeglądarki odrzuciły certyfikaty SHA-1 w 2017 roku. Jeśli Twój certyfikat nadal używa SHA-1, wystawij go ponownie z SHA-256.
Certyfikat samopodpisany — Zaufany tylko w środowisku deweloperskim. Strony produkcyjne wymagają certyfikatu od uznanego urzędu certyfikacji.
# Check certificate details from command line
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -subject -issuer -fingerprint -sha256
# Check which TLS versions the server supports
nmap --script ssl-enum-ciphers -p 443 yourdomain.com
# Renew Let's Encrypt certificate
sudo certbot renew --force-renewalPoprawka 2: Włącz TLS 1.2 i TLS 1.3
Wszystkie nowoczesne przeglądarki wymagają co najmniej TLS 1.2. Jeśli serwer oferuje tylko TLS 1.0 lub 1.1, przeglądarki wyświetlą ERR_SSL_VERSION_OR_CIPHER_MISMATCH. Włącz zarówno TLS 1.2, jak i TLS 1.3 — wyłącz wszystko starsze.
# Nginx — in nginx.conf or site config
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# Apache — in httpd.conf or ssl.conf
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder on
# After changing, restart your web server:
sudo systemctl restart nginx # or apache2Po aktualizacji przetestuj za pomocą narzędzia SSL Checker od DNS Robot lub Qualys SSL Labs, aby sprawdzić, czy aktywne są tylko TLS 1.2 i 1.3.
Poprawka 3: Zaktualizuj zestawy szyfrów
Nawet z włączonym TLS 1.2, używanie przestarzałych zestawów szyfrów powoduje ten sam błąd. Przeglądarki blokują RC4 (od 2016 roku), 3DES, szyfry klasy eksportowej i szyfry NULL. Twój serwer musi oferować nowoczesne szyfry AEAD, takie jak AES-GCM lub ChaCha20-Poly1305.
# Nginx — modern cipher configuration
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';
ssl_prefer_server_ciphers off; # Let client choose (TLS 1.3 best practice)
# Apache — modern cipher configuration
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder offPoprawka 4: Zainstaluj kompletny łańcuch certyfikatów
Niekompletny łańcuch certyfikatów — gdy serwer wysyła własny certyfikat, ale nie certyfikaty pośrednie — może wywoływać ERR_SSL_VERSION_OR_CIPHER_MISMATCH w niektórych przeglądarkach i na niektórych urządzeniach. Serwer musi wysłać pełny łańcuch od certyfikatu liścia do pośredniego CA.
Dla Let's Encrypt zawsze używaj fullchain.pem (nie cert.pem). Dla innych CA pobierz certyfikat pośredni z dokumentacji swojego CA i połącz go z 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.pem
# Verify chain is complete
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(depth|verify|Certificate chain)"Poprawka 5: Napraw niezgodność nazwy certyfikatu
Jeśli Twój certyfikat SSL nie obejmuje dokładnej domeny lub subdomeny, do której następuje dostęp, uzgadnianie TLS może zakończyć się błędem niezgodności szyfrów. Najczęściej zdarza się to, gdy:
www vs bez www — Certyfikat obejmuje
example.com, ale niewww.example.com. Rozwiązanie: użyj certyfikatu obejmującego obie wersje lub uzyskaj certyfikat wieloznaczny (*.example.com).Subdomena nieobjęta certyfikatem — Certyfikat obejmuje
example.com, ale użytkownik odwiedzaapp.example.com. Certyfikat wieloznaczny obejmuje subdomeny pierwszego poziomu, ale nie wielopoziomowe, takie jakstaging.app.example.com.Zupełnie inna domena — Serwer przedstawia certyfikat dla innej domeny (częste na hostingu współdzielonym lub przy błędnie skonfigurowanych hostach wirtualnych).
Sprawdź, jaką domenę obejmuje Twój certyfikat, używając narzędzia SSL Checker od DNS Robot — wyświetla listę Subject Alternative Names (SANs) pokazującą każdą domenę i subdomenę objętą certyfikatem.
Poprawka 6: Rozwiązania specyficzne dla Cloudflare
Jeśli Twoja strona korzysta z Cloudflare, a odwiedzający widzą ERR_SSL_VERSION_OR_CIPHER_MISMATCH, problem zazwyczaj dotyczy konfiguracji proxy SSL w Cloudflare.
Certyfikat jeszcze nieaktywny — Certyfikat Universal SSL w Cloudflare potrzebuje od 15 minut do 24 godzin na aktywację po dodaniu domeny. Sprawdź status certyfikatu w panelu Cloudflare → SSL/TLS → Edge Certificates. Musi wyświetlać "Active".
Rekord DNS ustawiony na DNS-only — Rekord DNS musi być ustawiony na Proxied (pomarańczowa chmurka), aby Cloudflare obsługiwał swój certyfikat SSL. Jeśli jest ustawiony na DNS-only (szara chmurka), Cloudflare nie pośredniczy w połączeniu i zamiast tego używany jest certyfikat serwera źródłowego.
Subdomena wielopoziomowa — Certyfikat Universal w Cloudflare obejmuje tylko
example.comi*.example.com(jeden poziom). Dlasub.sub.example.compotrzebujesz Advanced Certificate, Total TLS lub certyfikatu niestandardowego.Niezgodność trybu SSL/TLS — W panelu Cloudflare → SSL/TLS ustaw tryb szyfrowania na Full (Strict), jeśli serwer źródłowy ma prawidłowy certyfikat, lub Full, jeśli używasz certyfikatu Cloudflare Origin Certificate.
Poprawka 7: Sprawdź konfigurację SSL w CDN
Jeśli Twoja strona korzysta z CDN (CloudFront, Fastly, Akamai lub dowolnego reverse proxy), CDN terminuje połączenie TLS z odwiedzającym. Błędy konfiguracji SSL na poziomie CDN powodują ten błąd, nawet jeśli SSL na serwerze źródłowym jest prawidłowy.
Certyfikat CDN wygasł lub brakuje go — Upewnij się, że CDN ma prawidłowy certyfikat SSL dla Twojej domeny. Na AWS CloudFront oznacza to certyfikat ACM. Na innych CDN sprawdź, czy Twój niestandardowy certyfikat jest przesłany i aktywny.
Zbyt stara wersja TLS w CDN — Niektóre konfiguracje CDN domyślnie zezwalają na TLS 1.0. Zaktualizuj minimalną wersję TLS w CDN do 1.2.
Brak obsługi SNI — Jeśli CDN obsługuje wiele domen z jednego adresu IP, musi obsługiwać Server Name Indication (SNI), aby przedstawiać prawidłowy certyfikat dla każdej domeny.
Jak przetestować konfigurację SSL
Po wprowadzeniu zmian sprawdź, czy konfiguracja SSL jest prawidłowa. Te narzędzia pomogą wychwycić problemy, zanim zrobią to odwiedzający.
[DNS Robot SSL Checker](/ssl-checker) — Szybkie sprawdzenie statusu certyfikatu, daty wygaśnięcia, kompletności łańcucha i wystawcy. Wyniki w kilka sekund.
Qualys SSL Labs — Głęboki skan wersji TLS, zestawów szyfrów, obsługi protokołów i znanych podatności. Przyznaje ocenę literową (celuj w A lub A+).
OpenSSL CLI — Testuj z wiersza poleceń za pomocą
openssl s_client -connect domain.com:443, aby zobaczyć surowe uzgadnianie, łańcuch certyfikatów i wynegocjowany szyfr.Chrome DevTools — Otwórz DevTools (F12) → zakładka Security → pokazuje wersję TLS, zestaw szyfrów i szczegóły certyfikatu dla bieżącego połączenia.
# Quick OpenSSL check — shows protocol, cipher, and certificate
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep -E "(Protocol|Cipher|subject|issuer|Not After)"
# Test specific TLS version support
openssl s_client -connect yourdomain.com:443 -tls1_2 2>/dev/null | head -5 # Test TLS 1.2
openssl s_client -connect yourdomain.com:443 -tls1_3 2>/dev/null | head -5 # Test TLS 1.3Powiązane błędy SSL/TLS
Chrome ma kilka kodów błędów związanych z SSL. Każdy z nich wskazuje na inny etap awarii TLS.
| Kod błędu | Co oznacza | Częsta przyczyna |
|---|---|---|
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Brak wspólnej wersji TLS lub zestawu szyfrów | Serwer używa TLS 1.0/1.1, szyfrów RC4 lub certyfikatu SHA-1 |
| ERR_SSL_PROTOCOL_ERROR | Ogólna awaria uzgadniania TLS | Błędna data/godzina, konflikt QUIC, uszkodzony stan SSL |
| ERR_CERT_AUTHORITY_INVALID | Certyfikat niezaufany | Certyfikat samopodpisany, brakujący certyfikat pośredni, niezaufany CA |
| ERR_CERT_DATE_INVALID | Certyfikat wygasł lub jeszcze nie obowiązuje | Wygasły certyfikat, błędny zegar systemowy |
| ERR_CERT_COMMON_NAME_INVALID | Niezgodność domeny w certyfikacie | Certyfikat dla example.com, dostęp pod www.example.com |
W przypadku każdego z tych błędów SSL zacznij od sprawdzenia certyfikatu za pomocą narzędzia SSL Checker od DNS Robot. Pokazuje ono status certyfikatu, łańcuch, datę wygaśnięcia i obsługiwane protokoły w jednym skanie. Możesz też przeczytać nasze poradniki dotyczące ERR_SSL_PROTOCOL_ERROR i Twoje połączenie nie jest prywatne, aby uzyskać szczegółowe rozwiązania.
Sprawdź swój certyfikat SSL teraz
Użyj darmowego narzędzia SSL Checker od DNS Robot, aby zweryfikować status certyfikatu, datę wygaśnięcia, łańcuch certyfikatów i konfigurację TLS. Zdiagnozuj ERR_SSL_VERSION_OR_CIPHER_MISMATCH w kilka sekund.
Try SSL CheckerFrequently Asked Questions
ERR_SSL_VERSION_OR_CIPHER_MISMATCH oznacza, że przeglądarka i serwer internetowy nie mogą uzgodnić wspólnej wersji protokołu TLS ani zestawu szyfrów. Przeglądarka wysyła listę obsługiwanych opcji podczas uzgadniania TLS, a serwer nie ma żadnej pasującej. Uniemożliwia to nawiązanie jakiegokolwiek bezpiecznego połączenia.