# Firefox: Secure Connection Failed — SSL_ERROR_NO_CYPHER_OVERLAP (no common cipher)

**Code:** `SSL_ERROR_NO_CYPHER_OVERLAP` · **Category:** Browser · **Seen on:** Firefox, Nginx, Apache

Firefox and the server share no TLS cipher suite, so the secure handshake cannot even start.

## Meaning

Common with very old servers (weak ciphers only), or hardened servers that allow a tiny cipher list Firefox does not support, and with server software that disabled all modern suites by mistake. Fix the server's `ssl_ciphers`/`SSLCipherSuite` and protocols.

## Common causes

- Server offers only obsolete ciphers (RC4, 3DES, export grade)
- Cipher list too restrictive or misspelled
- TLS 1.2/1.3 disabled on the server
- Load balancer/appliance with outdated firmware
- Certificate type (e.g. ECDSA only) not supported by a legacy client

## Quick fix

1. Owners: enable TLS 1.2/1.3 and a modern cipher list
2. Use the Mozilla SSL configuration generator for your server
3. Update the load balancer/appliance firmware

## Detailed fix by platform

### Nginx

1. `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;`

### Apache

1. `SSLProtocol -all +TLSv1.2 +TLSv1.3` and `SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256`

### Linux

1. `nmap --script ssl-enum-ciphers -p 443 example.com` lists what the server offers

## How to diagnose

1. **Ciphers** — What does nmap show?
2. **Protocols** — TLS 1.2+ enabled?
3. **Config** — Recent hardening changes?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/browser/firefox-ssl-error-no-cypher-overlap)
