So sieht die Meldung aus
This site can’t provide a secure connection
example.com uses an unsupported protocol.
ERR_SSL_VERSION_OR_CIPHER_MISMATCHHäufige Ursachen
- Der Server erlaubt nur alte Protokolle wie SSLv3, TLS 1.0 oder 1.1, die aktuelle Browser ablehnen.
ssl_protocolsoderssl_cipherssind zu eng oder enthalten einen Tippfehler.- Der Virtual Host, der die Anfrage beantwortet, hat kein Zertifikat oder nur eines, das der Client nicht unterstützt.
- Ein sehr alter Client oder ein altes OpenSSL auf dem Server kann kein TLS 1.2.
- HTTPS wird an einem Port angefragt, an dem der Server nur Klartext-http spricht.
Prüfen
- Welches Protokoll und welche Cipher bietet der Server wirklich an?
- Funktioniert TLS 1.2?
openssl s_client -connect example.com:443 -tls1_2 </dev/null 2>&1 | head -n 12 - Was ist in nginx eingestellt?
nginx -T 2>/dev/null | grep -nE 'ssl_protocols|ssl_ciphers|ssl_certificate '
Lösung
- Moderne Protokolle erlauben:
ssl_protocols TLSv1.2 TLSv1.3;. - Eine aktuelle Cipher-Liste nutzen, z. B. das Mozilla-Profil „intermediate“, oder
ssl_ciphersweglassen und die Voreinstellung verwenden. - Sicherstellen, dass der richtige Server-Block antwortet: Er braucht
listen 443 ssl;sowie ein passendesssl_certificatesamt Schlüssel. - Auf alten Servern OpenSSL und nginx aktualisieren.
- Neu laden und testen:
nginx -t && systemctl reload nginx.
Häufige Fragen
Soll ich TLS 1.0 für einen alten Client wieder aktivieren?
Nein. TLS 1.0 und 1.1 sind veraltet und unsicher. Den Client aktualisieren oder einen modernen Proxy vor das alte System setzen.
Es klappt in einem Browser, im anderen nicht. Warum?
Browser unterstützen unterschiedliche Protokoll- und Cipher-Mengen. Eine sehr enge Serverkonfiguration passt vielleicht nur zu einigen.