09 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

名前ベースのバーチャルホストでSSLを使う(SNI:Server Name Indication) 



【お知らせ】この記事は、http://blog.apar.jp/linux/378/ に引越いたしました。


TLS拡張(RFC4366)仕様の一つ Server Name Indication(SNI、サーバー ネーム インディケーション)によって名前ベースのバーチャルホストでもSSLが使えるようになりました。

以前ディレクターの方から、SSLを使っているサイトのバーチャルホストの設定依頼を受けて「SSL使ってるとバーチャルホストは使えないっすよ」とドヤ顔で答えてしまい、少し恥ずかしい思いをしました(^^;)

昔の上司の言葉「常にアンテナを張っておけ!」を思い出します。


○ SNIの仕組み

SSLを使っていると当然ですがHTTPヘッダは暗号化されているので、クライアントがどのホスト名を指定しているのか判断できないため、先頭のパーチャルホスト(図の場合は lamp-sv)が表示されてしまいます。
SNI01.png

SNIではSSL/TLSのやりとりの中で、暗号化していないホスト名をサーバに伝えてくれるので、指定したバーチャルホストを表示することができます。
SNI02.png


○ SNIを使える条件

 ・Apache 2.2.12以降

 ・OpenSSL 0.9.8j以降

 ・ブラウザがSNIに対応

ApacheとOpenSSLは最近のサーバなら対応することができますが、ブラウザの対応状況には注意が必要です。

・参考にさせて頂いたサイト
http://e-garakuta.net/techinfo/doku.php/linux/apache-sni


○ssl.conf の設定サンプル

SNIに未対応のブラウザ用に「SSLStrictSNIVHostCheck」デレクティブを off にするのがキモです。

・SSLStrictSNIVHostCheck Directive
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslstrictsnivhostcheck


以上です。

Posted on 2013/09/07 Sat. 18:16 [edit]

category: サーバ

thread: サーバー  -  janre: コンピュータ

TB: 0    CM: 1

07

コメント

参考になりました! 

良い情報ありがとうございました!
ただいま社内にてインフラ対応中のため、非常に参考になりました!

ありがとうございました!

URL | インフラ修行者 #- | 2014/05/22 18:53 | edit

Comment
list

コメントの投稿

Secret

Comment
form

トラックバック

トラックバックURL
→http://arpanet617.blog.fc2.com/tb.php/52-23668f98
この記事にトラックバックする(FC2ブログユーザー)

Trackback
list