浏览器

SSL_ERROR_NO_CYPHER_OVERLAP:Firefox 没有共同的加密套件

作者: · 最后核实

报错信息SSL_ERROR_NO_CYPHER_OVERLAP

SSL_ERROR_NO_CYPHER_OVERLAP 的意思是:Firefox 和服务器找不到一个双方都支持的加密套件。 握手在第一步就停了。多数是服务器的套件列表过时或配错,有时是 Firefox 自己的套件设置被改过。

先判断是网站的问题还是你电脑的问题

服务器只开了弱套件是服务器的问题;服务器正常而只有你报错,就查 Firefox 的套件设置。用 SSL 检测 看服务器的套件列表:

curl ssl.sh/example.com
  • 检测也协商失败,或者只列出了弱套件:服务器要更新配置。
  • 检测用现代套件连接正常:查 Firefox。在 about:config 里搜索 security.ssl3.,看有没有加粗(被修改)且值为 false 的条目;再到 about:policies 看有没有禁用套件的企业策略,并用故障排除模式测试。

原因

这个报错有 5 种原因,共同点是服务器和 Firefox 找不到双方都支持的加密套件,例如服务器只提供 RC4、3DES 这类 Firefox 已不提供的套件。

1. 服务器只提供过时套件

照着老教程抄来的配置,可能只列了 RC4、3DES 等 Firefox 早已不再提供的套件。测试服务器接受什么:

openssl s_client -connect example.com:443 -servername example.com -tls1_2 \
  -cipher 'ECDHE+AESGCM:ECDHE+CHACHA20' </dev/null 2>&1 | grep -E "Cipher|alert"

这条失败、而服务器对别的请求有响应,就说明套件列表里缺现代套件。

2. 套件和证书类型对不上

ECDSA 证书却只开了 RSA 认证的 TLS 1.2 套件,或者反过来,都没有可用组合。两类都开上,或者依靠 TLS 1.3。

3. Firefox 套件设置被改过

一些“隐私加固”教程会通过 security.ssl3.* 关掉一批套件。关得太多,遇到只提供一两个套件的网站就会失败。

4. 老设备或嵌入式服务器

有的设备只实现了很少几个套件,只能靠固件更新解决。国内一些老款监控录像机、门禁控制器的网页后台就属于这种情况。

5. 拦截类产品套件有限

拦截 HTTPS 的代理设备提供给 Firefox 的套件列表,可能比真实服务器的窄得多。

在各浏览器/系统上的样子

Chrome 里对应的代码是 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,curl 报 sslv3 alert handshake failure 或 no cipher match。

浏览器 显示内容
Firefox “建立安全连接失败”,代码 SSL_ERROR_NO_CYPHER_OVERLAP
Chrome / Edge / 360 / QQ 浏览器 ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Safari Safari 无法建立安全连接
curl sslv3 alert handshake failure 或 no cipher match

站长怎么修

推荐配置是 TLS 1.2 用 ECDHE 加 AES-GCM 或 ChaCha20-Poly1305 套件,TLS 1.3 保留默认套件。

1. 用当前推荐的套件配置。 Nginx 的 TLS 1.2 套件加 TLS 1.3 默认值:

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;

宝塔面板的 SSL 配置里可以直接改加密套件;阿里云/腾讯云 CDN 和负载均衡选择较新的 TLS 安全策略即可,不需要手写套件。

2. 不认识的套件名先用 加密套件查询 查一下,再决定保留还是删掉。

3. 重载并验证。 运行 nginx -t && systemctl reload nginx,再用 curl ssl.sh/example.com 确认协商出的是现代套件。

常见问题

为了打开网站,要不要在 Firefox 里重新启用老套件?

不要。RC4、3DES 这类套件是因为已被攻破或强度不够才被禁用的。让网站方更新服务器;如果是你自己的设备,去找固件更新。

怎么恢复 Firefox 的加密套件设置?

打开 about:config,搜索 security.ssl3.,把加粗显示(被修改过)的条目用重置箭头恢复。用故障排除模式或新建配置文件打开网站,可以快速确认是不是设置的问题。

ECDSA 证书会导致这个错误吗?

会,如果服务器只开了 ECDHE-RSA-* 套件。ECDSA 证书在 TLS 1.2 下需要 ECDHE-ECDSA-* 套件;TLS 1.3 的套件则不区分证书类型。

2026 年服务器应该开哪些加密套件?

TLS 1.3 用默认的 TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256;TLS 1.2 用 ECDHE 密钥交换加 AES-GCM 或 ChaCha20-Poly1305。TLS 配置生成器 能直接给出经过测试的列表。

资料来源

  1. Mozilla Support: Secure Connection Failed and Firefox did not connect
  2. Mozilla Support: Error codes on secure websites
  3. RFC 8446 9.1 节:必须实现的加密套件
  4. nginx ngx_http_ssl_module: ssl_ciphers