请参阅以下列表,了解 Cloudflare 在 SSL/TLS 握手期间向源服务器出示的密码套件。
列表顺序基于密码套件在 ClientHello ↗ 中出现的顺序,表明 Cloudflare 的偏好。
| 密码名称 | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
|---|---|---|---|---|
| AEAD-AES128-GCM-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
| AEAD-AES256-GCM-SHA384 1 | ❌ | ❌ | ❌ | ✅ |
| AEAD-CHACHA20-POLY1305-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
| ECDHE-ECDSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES128-SHA | ✅ | ✅ | ✅ | ❌ |
| AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
| AES128-SHA | ✅ | ✅ | ✅ | ❌ |
| ECDHE-ECDSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
| ECDHE-RSA-AES256-SHA384 | ❌ | ❌ | ✅ | ❌ |
| AES256-SHA | ✅ | ✅ | ✅ | ❌ |
| DES-CBC3-SHA | ✅ | ❌ | ❌ | ❌ |
尽管 TLS 1.3 使用与先前 TLS 版本相同的密码套件空间,但 TLS 1.3 密码套件的定义不同,仅指定对称密码,且不能用于 TLS 1.2(RFC 8446 ↗)。
同样,TLS 1.2 及更低版本的密码套件不能与 TLS 1.3 一起使用。BoringSSL 还将 TLS 1.3 的密码偏好硬编码为上述顺序。
基于 BoringSSL,Cloudflare 系统将返回上面列出的名称。但是,RFC 8446 ↗ 中定义的对应名称如下:
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256
Cloudflare 会向您的源出示密码套件,您的服务器将选择它偏好的密码套件。
但是,如果您希望确保源服务器支持与 Cloudflare 全球网络相同的密码套件,并且您使用 NGINX ↗ 在源上进行 TLS 终止,可以应用以下配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE+AES128:RSA+AES128:ECDHE+AES256:RSA+AES256:ECDHE+3DES:RSA+3DES;
ssl_prefer_server_ciphers on;-
详情请参阅 TLS 1.3 密码套件。 ↩ ↩2 ↩3