Cloudflare は、できるだけ幅広いユーザーエージェント(ブラウザー、API クライアントなど)との互換性を確保しようとしています。ただし、対応するクライアントの範囲は、SSL/TLS 証明書の種類、訪問者の ブラウザーのバージョン、証明書を発行する 認証局(CA) によって変わります。
Cloudflare Universal SSL は、TLS プロトコルの Server Name Indication (SNI) ↗ 拡張を使うブラウザーおよび API クライアントのみをサポートします。
また、Free プランのゾーンでは、Universal SSL は楕円曲線デジタル署名アルゴリズム(ECDSA)に対応したブラウザーとのみ互換があります。
有料プランでは互換性が広がり、RSA アルゴリズムにも対応します。
Cloudflare の SSL/TLS オファリング、利用できるアルゴリズム、各 CA のブラウザー互換性の詳細は、認証局 を参照してください。
TLS プロトコルへの SNI 拡張 ↗ は 2003 年に標準化されました。ただし、一部のブラウザーと OS は、TLS 1.1 がリリースされた 2006 年(モバイルブラウザーは 2011 年)になってから、この拡張を実装しました。2011 年以降に更新されていないデバイスを訪問者が使っている場合、SNI に対応していないことがあります。
SNI 非対応のリクエストをサポートするには、次の方法があります。
-
カスタム証明書をアップロード し、クライアントサポートに
Legacyを指定します。Legacyのカスタム証明書は BYOIP と互換がありません。また、Universal SSL や アドバンスト証明書 と異なり、カスタム証明書 の発行と更新は Cloudflare が管理しません。 -
(BYOIP のお客様のみ)Enterprise のお客様は、独自の IP プレフィックスを Cloudflare ネットワークに持ち込み、アドレスマップで SNI 非対応ハンドシェイクに使うデフォルト SNI を指定 できます。
-
(有料プランのみ)Cloudflare サポートに連絡 し、ゾーン用の SNI 非対応 IP セットを依頼します。
HTTPS Service (HTTPS) レコード を使うと、最初の平文 HTTP 接続なしに、サーバーへどう接続すべきかをクライアントへ事前に伝えられます。
ドメインで HTTP/2 または HTTP/3 が有効 で、プロキシされた DNS レコード があり、さらに Universal SSL を使っている場合、Cloudflare は HTTPS レコードをその場で自動生成し、サーバーへの接続方法をクライアントに知らせます。
Cloudflare の OCSP 実装は、平文 HTTP 接続では既定で HTTP/1.1 を使います。
HTTPS 接続では、サーバーが TLS ALPN(Application-Layer Protocol Negotiation)拡張で対応していれば、クライアントは自動的に HTTP/2 を試します。サーバーが HTTP/2 を使えない、または対応していない場合は、HTTP/1.1 にフォールバックします。