SNI 【Server Name Indication】
概要
SNI(Server Name Indication)とは、SSL/TLSの拡張仕様の一つで、クライアントからサーバへの接続開始時に目的のホスト名を伝達する仕組み。一つのIPアドレスで複数のホスト名を運用している場合にデジタル証明書を使い分けることができる。Web通信の暗号化(HTTPS)などに用いられるSSL(Secure Socket Layer)および後継のTLS(Transport Layer Security)では、サーバがクライアントにSSLサーバ証明書と呼ばれるデジタル証明書を送信し、サーバが偽物のなりすましでないか検証したり、データの暗号化に用いる暗号鍵の受け渡しなどを行う。
SNIは、SSL/TLS接続を確立するために最初にクライアントとサーバがやり取りするハンドシェイク(handshaking)手順に追加された仕様の一つで、クライアントからサーバに対して接続したいホスト名(ドメイン名)を伝達する仕組みである。
これにより、サーバはホスト名ごとにサーバ証明書を使い分け、クライアントの求めに応じて適切な証明書を提示することができる。一つのIPアドレスで複数の異なるドメイン名やホスト名のWebサーバを運用するバーチャルホスト機能を利用する場合には必須となる。
(2023.6.10更新)