すべてのプロダクト
Search
ドキュメントセンター

:SNI によって発生する HTTPS アクセスの問題

最終更新日:Jun 16, 2026

SNI とは

仮想ホストを使用すると、複数のドメイン名で 1 つの IP アドレスを共有できるため、IPv4 アドレス不足の解消に役立ちます。サーバーは、クライアントリクエスト内の host に基づいて、異なるドメイン名 (仮想ホスト) へのリクエストを振り分けます。

これにより、1 つの IP アドレスで複数のドメイン名をホストする HTTPS サーバーでは問題が発生します。TLS ハンドシェイクが完了する前は、サーバーはクライアントが要求しているドメイン名を認識できないため、対象の仮想ホストに対して正しい証明書を提示できません。

SNI (Server Name Indication) は、TLS ハンドシェイク中にクライアントが対象のドメイン名を指定することによって、この問題を解決します。サーバーはその後、正しい証明書を選択してハンドシェイクを完了し、TLS 接続を確立します。

SNI は 2004 年に初めて提案されました。現在では、ほとんどの最新ブラウザ、サーバー、テストツールが SNI をサポートしています。

Anti-DDoS Proxy と Web Application Firewall (WAF) がクライアントに SNI のサポートを求める理由

Anti-DDoS Proxy と Web Application Firewall (WAF) は、HTTPS サービスのリバースプロキシとして動作します。HTTPS 保護を設定する際は、サーバー証明書と秘密鍵をアップロードする必要があります。Anti-DDoS Proxy の IP アドレス数と WAF サーバー数には限りがあるため、サービスクラスターでは同一サーバー上で複数のドメイン名をホストします。そのため、Anti-DDoS Proxy および WAF と通信するには、クライアントが SNI をサポートする必要があります。

SNI をサポートしないブラウザで Anti-DDoS Proxy または WAF によって保護された Web サイトにアクセスすると、サービスは要求されたドメイン名を特定できません。その結果、サービスは組み込みのデフォルト証明書にフォールバックし、ブラウザに "server certificate not trusted" の警告が表示されます。
説明 実サーバーにドメイン名が 1 つしかなく、IP アドレスを共有していない場合でも、Anti-DDoS Proxy または WAF がリバースプロキシとして動作するため、クライアントは引き続き SNI をサポートする必要があります。クライアントはまず Anti-DDoS Proxy または WAF との接続を確立する必要があります。

解決策

[サーバー側]

サーバーが SNI をサポートするように設定してください。

[クライアント側]

クライアントが SNI をサポートしていない場合は、次のいずれかの解決策を使用してください:
  • ユーザーに、Google Chrome や Firefox などの最新ブラウザに切り替えるよう案内してください。
  • Anti-DDoS Proxy サービスでレイヤー 7 の Web サイト保護を設定しないでください。代わりに、レイヤー 4 ポートフォワーディングを使用して Web サイト保護を設定してください。
    説明 レイヤー 4 のポート保護では CC 攻撃を防御できません。
[SNI の互換性]
説明 SNI は TLS 1.1 以降と互換性がありますが、SSL プロトコルとは互換性がありません。
  • サポートされているデスクトップブラウザ:
    • Chrome 5 以降
    • Chrome 6 以降
    • Firefox 2 以降
    • Internet Explorer 7 以降 (Windows Vista、Windows Server 2008 以降の OS のみ。Windows XP 上の Internet Explorer はどのバージョンも SNI をサポートしていません。)
    • Konqueror 4.7 以降
    • Opera 8 以降
    • Safari 3.0 以降 (Windows Vista、Windows Server 2008 以降、または Mac OS X 10.5.6 以降のみ。)
  • サポートされているモバイルブラウザ:
    • Android 3.0 Honeycomb 以降
    • iOS 4 以降
    • Windows Phone 7 以降
  • サポートされているサーバー:
    • Apache 2.2.12 以降
    • Apache Traffic Server 3.2.0 以降
    • Cherokee
    • HAProxy 1.5 以降
    • IIS 8.0 以降
    • Lighttpd 1.4.24 以降
    • LiteSpeed 4.1 以降
    • Nginx 0.5.32 以降
  • サポートされているコマンドラインツール:
    • cURL 7.18.1 以降
    • wget 1.14 以降
  • サポートされているライブラリ:
    • GNU TLS
    • JSSE (Oracle Java) 7 以降 (クライアントとしてのみ)
    • libcurl 7.18.1 以降
    • NSS 3.1.1 以降
    • OpenSSL 0.9.8f 以降 (バージョン 0.9.8j より前のバージョンではフラグの設定が必要です)
    • OpenSSL 0.9.8f 以降(フラグ設定が必要)
    • Qt 4.8 以降