web-dev-qa-db-ja.com

同じIPの443ポートの複数のドメイン

IIS 7.)のポート443(https)で1つのWebサイト「www.example1.com」をホストしています。同じIPで「www.example2.com」の新しいドメインを購入しました。このドメイン(www.example2.com)の別のWebサイトをポート443でホストします(「www.example1.com」にはすでにポート443を使用しています)。

これどうやってするの?同じIPのポート443で2つのドメインをホストすることは可能ですか?はいの場合、誰かこれを行う正しい方法を教えてください。 IIS 7.を使用しています。

よろしく、Karthik

16
Karthik

できます。

IIS 7のSSLホストヘッダーを使用すると、同じIPアドレスで複数のIIS Webサイトに1つのSSL証明書を使用できます。 IISマネージャーインターフェイスを介して、IISは、SSL証明書を使用して各IPアドレスの1つのサイトをポート443にバインドすることのみを許可します。 IPアドレスの2番目のサイトを同じ証明書にバインドしようとすると、IIS 7はサイトの起動時に、ポートの競合があることを示すエラーを表示します。同じIPアドレス上の複数のIISサイトで使用される証明書を割り当てるには、以下の手順に従ってSSLホストヘッダーを設定する必要があります。

どのタイプのSSL証明書が必要ですか?使用できる証明書は1つだけなので、その証明書は、使用するWebサイトのすべてのホスト名で機能する必要があります(そうしないと、名前の不一致エラーが発生します)。たとえば、IIS 7の各Webサイトが単一の共通ドメイン名のサブドメインを使用している場合(以下の例のように)、*。mydomain.comのワイルドカード証明書を取得でき、site1.mydomainを保護します.com、site2.mydomain.comなど.

一方、IIS 7サイトがすべて異なるドメイン名(mail.mydomain1.com、mail.mydomain2.comなど)を使用している場合は、統合通信証明書(別名SAN証明書)。

IISでのSSLホストヘッダーの設定7 SSL証明書を取得し、IISにインストールします。7。これを行う手順については、Windows Server 2008へのSSL証明書のインストール( IIS 7.0)。証明書がIISにインストールされたら、IPアドレスの最初のサイトにバインドします。スタートメニューをクリックし、「cmd」と入力してEnterキーを押し、コマンドプロンプトを開きます。コマンドラインで「cd C:\ Windows\System32\Inetsrv \」と入力して、C:\ Windows\System32\Inetsrv \に移動します。 Inetsrvフォルダーで、証明書を使用する必要があるIPアドレス上の他の各Webサイトに対して次のコマンドを実行します(両方の行をコピーします)。

appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']

 Replace <IISSiteName>  with the name of the IIS site and <hostHeaderValue> with the Host header for that site (site1.mydomain.com)

ブラウザで各Webサイトをテストします。正しいページが表示され、エラーなしでロックアイコンが表示されます。最初のIISサイトのWebページが表示される場合は、SSLホストヘッダーが正しく設定されていません。

19

IIS7ではできません。SSLを使用してサイトを区別するためにホストヘッダーを使用できないため、各HTTPSバインディングには一意のIP /ポートの組み合わせが必要です。これは、SSLハンドシェイク中にホストヘッダーが表示されないためです。

回避策は、異なる外部IPにバインドするか、443以外のポートにバインドすることにより、サイトを区別することです。どちらのオプションも、私が知っている理想よりは低いものです。

これについてはすばらしい MSDNブログ があります。

幸い、IIS8には サーバー名表示(SNI) という形式のソリューションがあるようです。

興味深いことに、これはIIS奇妙なことではありません Apacheにも同じ問題があります 、SNIが導入される前のWebサーバーとは異なります)。

9
saille

また、ポート443で複数のサイトをホストしていますが、サイトごとに一意のIPアドレスが必要です。 1つのIPアドレスのみを使用して、複数のサイトをポート443にバインドすることはできません。回避策がない限り、私は何も知りません。

この記事は役立つかもしれません: http://www.harbar.net/articles/ssl.aspx

2
AndreCruz

ワイルドカード証明書を使用している場合は、フレンドリ名に* .domainname.comの形式を使用するだけで、IIS GUIにより、バインディングの編集時にホスト名制御が有効になります。

画像が示す...

ソース: http://blog.angelwebdesigns.com.au/setting-up-a-wildcard-certificate-for-multiple-sites-in-iis-7/

0
Alan Gresham

現在IIS 6.0を使用しています。ポート443とさまざまな証明書を使用して複数のWebサイトをセットアップできました。

IISマネージャから、Webサイトに移動してサイトバインディングを編集します。[サーバー名の表示が必要]チェックボックスがオンになっていることを確認し、IPアドレスを[すべて未割り当て]のままにします。これで、証明書のドロップダウンリストからサイトに適切な証明書を選択して、複数のサイトで同じポート(443)を使用します。

0
westpacrob
  • サイト>ウェブサイトを追加
  • サイト名:example2.com
  • 物理パス:ディレクトリを選択
  • バインディング:example.comと同じIP
  • ホスト名:example2.com次にバインドで、両方のWebサイトについてこれを確認します

enter image description here

0
javidasd