
IIS6でのホストヘッダー設定(単一IPで複数ホストのSSL)
IIS6でSSL接続用にホストヘッダーを設定する
IIS7については以下のページを参照してください。
- IIS6(Exchange 2003)でのサーバ証明書のインストール方法を参照し、証明書をインストールしてください。
- IISマネージャで、ローカル コンピュータをダブルクリックし、「Web サイト」フォルダ、Web サイトの順に右クリックし、「プロパティ」をクリックします。
- 「Web サイト」タブで「詳細設定」をクリックし、IPアドレスのフィールドへ移動します。
-
TCP port 80をクリックし、編集をクリックしてドメイン名を登録します。
このIPアドレスで使うドメイン全てを登録してください。 - 続いて、コマンド作業を行います。スタートメニューから「ファイル名を指定して実行」と進みます。
- 「cmd」を入力し「OK」をクリックします。
-
以下のコマンドを入力し、IIS スクリプトディレクトリに入ります。
ディレクトリ構造が異なる場合は、利用環境に合わせてください。cd C:\Inetpub\AdminScripts
-
以下のコマンドを入力します。
cscript.exe adsutil.vbs set /w3svc/site identifier/SecureBindings ":443:host header"
site identifierはIISマネージャーでIdentifier欄に表示される番号です。host headerはWebサイトの名前です。 - SSLを利用するWebサイトの数だけ、上記のコマンドを繰り返します。
- IISサイトを再起動します。
技術的背景
Microsoft IISサーバーでは、ホストヘッダー値と呼ばれる機能を使用して、同じポート番号を持つ複数のWebサイトを1つのIPアドレスに割り当てることができます。
一方、SSL/TLSで各Webサイトを利用する場合、それぞれがサーバ証明書を持っていなければなりません。
このことから、複数のホスト名に対応できるサーバ証明書(ワイルドカードサーバ証明書やマルチドメイン証明書)がある場合だけ、SSLでホストヘッダーが有効ということになります。
複数ホスト名に対応していない証明書を利用している場合、ブラウザは「このWebサイトのセキュリティ証明書には問題があります。」「このサイトは目的のサイトでない可能性があります。」「接続の安全性を確認できません」などの警告を出します。
ワイルドカードサーバ証明書は、登録されたドメインの全てのホスト名で利用できます。
例えば、*.domain.com 向けに発行されたWildCard Plusは以下のようなホスト名で有効です。
※ *.domain.com のワイルドカードサーバー証明書は、「 * 」部分に「 . 」を含まない限り、domain.com の全てのホスト名で有効です。
DigiCertの「WildCard Plus」なら、サブジェクトの別名(SANs)に書き込むことで「 . 」を含むホスト名にも対応が可能です。
同様に、マルチドメイン証明書も複数のホスト名で利用できます。
マルチドメイン証明書は一部でMicrosoft Exchangeサーバー専用の証明書のように誤解されていますが、Microsoft IISやapache等、多くのサーバーでも利用可能です。
マルチドメイン証明書とワイルドカード証明書の違いは、ワイルドカード証明書がひとつのドメインのホスト名に対してだけ有効なのに対し、マルチドメイン証明書はサブジェクトの別名欄に記載があれば、異なるドメインでも有効だということです。
例えば、マルチドメイン証明書は www.domain.com、www.domain2.com、www.domain3.com、mail.domain3.com に対しても1枚の証明書で対応することができます。