1
1

More than 3 years have passed since last update.

SNI(Server Name Indication)の必要性

Last updated at Posted at 2020-04-14

概要

SNI(Server Name Indication)の必要性について調べました。

■SNIとはなにか

SNI(Server Name Indication)は、「※バーチャルホスト」を「※TLS」に対応させるための機能。

※バーチャルホストとは

HTTP1.1から導入された機能。
この機能を使用すると、同じIPアドレスを複数のドメインで共有できる。

 →ユーザーが「〇〇.com」と「××.com」のURLにアクセスした際、webページはそれぞれ別物だが、裏でつながっているサーバーは同じというイメージ。

◎バーチャルホストのメリット

・サーバ台数を節約でき、運用コスト下げられる
・IPアドレスを節約できる

※TLS(SSL)とは

webブラウザでwebサーバーにアクセスするときに、データを暗号化して安全性を高めるための技術。

■SNIの必要性

SNIを使用していないと、バーチャルホスト環境で異なるwebページにアクセスしているのにも関わらず同じサーバ証明書を使用するしかなくなる。

 →レンタルサーバサービス等で複数のユーザーが同じサーバを使用しているときに、サイトごとの証明ができない

■機能イメージ

↓ HTTPSの通信の流れを、使用時と非使用時それぞれで確認する。

【SNIを利用していない場合】

>▲クライアント

①webサーバのIPアドレスにアクセス

<□サーバ

②共通のサーバ証明書を返送 
 →この時点ではどのドメインに接続するかわからないから、サーバ共通の証明書しか使えない

>▲クライアント

③暗号化通信でドメインAを指定

<□サーバ

④ドメインAのwebページを返信

【SNIを利用する場合】

>▲クライアント

①SNIでドメインを指定してアクセス

<□サーバ

②ドメインAのサーバ証明書を返送
 →この時点で接続先のドメインが指定されているため、ドメインごとの証明書を使える。

>▲クライアント

③暗号化通信でドメインAを指定

<□サーバ

④ドメインAのwebページを返信

まとめ

・SNIを使用することで、ユーザーアクセス時にサーバ側で接続先ドメインがわかるため、サーバ内のドメインに応じたそれぞれ別の証明書を発行できる。

・レンタルサーバーサービス等で、複数人で同じサーバを使用するときに便利。

参考サイト

以下のページを参考にさせていただきました!
https://jp.globalsign.com/blog/articles/server_name_indication.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1