質問者
1台のWebサーバに複数のSSLサーバー証明書をバインドしたいです。

質問
-
いつもお世話になっております。村上と申します。
下記のWebサーバー構成で複数のSSL証明書のバインドを行えますでしょうか?
【環境】
サーバー:Windows2012R2 IIS:8.5
仮サイト名1:test.co.jp(グローバルIP取得済み)、SSL証明書1:test.co.jp
仮サイト名2:test2.co.jp(グローバルIP取得済み)、SSL証明書2:test2.co.jp
●バインド1(既定のWebサイト)
種類:「https」
IPアドレス:「未使用のIPアドレスすべて」
ポート:「443」
ホスト名:「test.co.jp」
SSL証明書:「test.co.jp」
●バインド2(既定のWebサイト)
種類:「https」
IPアドレス:「未使用のIPアドレスすべて」
ポート:「443」
ホスト名:「test2.co.jp」
SSL証明書:「test2.co.jp」
上記2枚のSSL証明書を同一のサーバーに導入/バインドする場合ですが、
"同一https"、"同一IPアドレス"、"同一443ポート"で、ホスト名だけ異なる形で
複数設定出来るのでしょうか?
以上、よろしくお願い致します。
2017年1月5日 6:29
すべての返信
-
直接の回答ではないのですが、以前、Linux で Apache を運用している際に、複数のバーチャルドメインで複数のサーバ証明書が運用できるかどうかを調べたことがありました
その際に、そもそもSSLの仕組みでは、通信内容を暗号解除してみないと、どのバーチャルホストへのリクエストなのかが判明しないため、そうした運用は無理であるという結果を得ました(数年前の調査なので、最近のSNI機能などへは追いついていません)
例で示しますと
ホスト: https://host1.com/
サーバ証明書: host1.com
ホスト: https://host2.com/
サーバ所要名所: host2.com
があったとして、host1.com への通信が成立するためには、そもそも host1.com のサーバ証明書で暗号を解かないと、そもそも host1.com へのリクエストであったのか、それとも host2.com へのリクエストであったのかどうかさえも、判明しないというのが本来のSSLプロトコルだといういうことらしいです
この場合、クライアント側では GET host.com/ というリクエスト内容自体が暗号化されているため、サーバ側ではどちらの証明書で暗号を解いていいかは判別できない、というのがポイントのようです
※(もっとも、保持している証明書で、すべて暗号解除を試みるというサーバ実装があれば解決しそうですが)
ですので、Apache+SSL 複数証明書 などで検索してみた結果が、もしかしたら参考になるのではないでしょうか
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年1月12日 0:28
2017年1月5日 19:34 -
> "同一https"、"同一IPアドレス"、"同一443ポート"で、ホスト名だけ異なる形で
> 複数設定出来るのでしょうか?IIS8 以降で採用された Server Name Indication という機能を利用して実現できるようです。
Host Different SSL’s on one IP with IIS 8 SNI
http://www.sherweb.com/blog/host-different-ssls-on-one-ip-with-iis-8-sni/IIS 8.0 Server Name Indication (SNI): SSL Scalability
https://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-server-name-indication-sni-ssl-scalabilityググって調べただけで、検証はしておりませんので(IIS7 しか持ってないので)、その点ご了承ください。
<追伸>
余計なお世話かもしれませんが、質問者さんの所属する組織名が出てしまっています。このフォーラムはインターネットに公開されており、不特定多数の人がアクセスできることにご注意ください。
- 編集済み SurferOnWww 2017年1月6日 2:41 追伸追加
- 回答の候補に設定 立花楓Microsoft employee, Moderator 2017年7月31日 5:06
2017年1月6日 2:37