こんにちは。24年度に新卒入社した運用チームの又吉です。
普段サーバの監視業務をする中で、HTTPS通信中にクライアントがWebサーバに対してどのホスト名で接続したいかを伝える、TLSプロトコルの拡張機能である「Server Name Indication(以降SNIとする)」を知りました。そこで、今回は運用エンジニア1年生である私の学習も兼ねてSNIの仕組みについて、検証しながら記します。
この記事ではSNIについて実験するために、著者が手馴れているNagiosのHTTP監視プラグインであるcheck_httpコマンドを利用していますが、多くの方に試してもらえるようにopensslコマンドでの確認方法もところどころで併記します。
CDNを利用したWebページの場合、なぜSNIを使う必要があるのか、そしてそもそもSNIとは何か理解したかったため調査・検証しました。
SNIについてよりイメージしやすいよう、本稿はコマンドのデバッグやパケットキャプチャ等でSNIの具体的な姿を確認できる内容になっています。本稿がSNIをより深く理解する助けになれば幸いです。