SNIとは
Server Name Indication の略
1台のサーバのvhostsの設定で複数ドメインでの複数のSSL証明書を使えるようにする という方法。
え?vhostsにSSL証明書置くのって普通できるんじゃ・・・?って言うのは少し思ったけど、元々出来なかったらしい。
元々、1つのサーバにドメイン名を複数設定できても、SSL証明書は1つしか設定できなかった。
Apacheが2.2.12以降対応なので2011年以前だと思う...
ブラウザ対応状況
ブラウザ名 | バージョン |
---|---|
IE | 7以降 |
Chrome | 6以降 |
Safari | 2.1以降 |
ブラウザとOSでの組み合わせもあるが大体上記。
実は結構最近まで使えないところ多かったのかな?
メリット
SNIを入れるメリットとしては以下
1. 独自ドメインと証明書のドメイン名が同じになる
従来だと、SSLを必要な通信のページはサイトを見たユーザからするとアドレスが突然変わり、違和感が出ます。
しかしSNIを導入することによってその違和感をなくすことが出来ます。
ショッピングだと、購入にページだけ共有SSLのドメインに変わることがよくあったとか?
2. サーバで複数のサイトを運用することが出来る
複数ドメイン・複数SSL証明書を設定することが出来ると、
従来であれば、ドメインごとにwebサーバが必要なところ、1つのwebサーバでvhostsを使って運用できるので
手間やコストの削減が可能になります。
デメリット
1. ブラウザで対応出来ない場合がある
デメリットと書きましたが、「ブラウザ対応状況」 を見る限り古いOSやブラウザのバージョンなのでそこまで気にしなくてもいいのでは?
と思ったりもする...
勉強後イメージ
そもそも出来ないって知らなかった....
けど、こうしてみるとvhostsにSSL証明書入れれなかったらめっちゃめんどくさいんやろなぁと。
クラウドとかも普及してなくて、オンプレに仮想立ててとか今だったらめんどくさい...