コンテンツへスキップ
uencoder

SNI

SNI(Server Name Indication、RFC 6066)は TLS ハンドシェイク中に宛先ホスト名を伝え、1 つの IP 上の複数の HTTPS 仮想ホストが正しい証明書を選べるようにする。

目的

ClientHello でホスト名を渡すことで、多数の仮想ホストを運用するサーバーが一致する証明書を選択できるようにする。

メカニズム

ClientHello が宛先ホスト名を含む SNI 拡張を運び、サーバーは保有するコレクションから一致する証明書を返す。SNI がなければサーバーはデフォルト証明書しか提示できず、複数仮想ホストの HTTPS は事実上不可能になる。

ユースケース

  • HTTPS 仮想ホスティング
  • CDN のマルチドメインホスティング
  • クラウド TLS

関連ツール

References