web-dev-qa-db-ja.com

同じVPSIPを指すドメインごとに個別のSSL証明書が必要ですか?

いくつかの調査を行った後、私は私の質問に対する決定的な答えを見つけられませんでした。

私は現在、2つのIPアドレスを持つVPSでクライアントをホストしています。

XXX.XX.XXX.XX1
XXX.XX.XXX.XX2

このVPSを購入したとき、SSL証明書をホストするために2番目のIPがあると言われていました。

すべてのドメインが同じIPを指しているので、IPをカバーするSSL証明書が1つだけ必要かどうか疑問に思っています。または、一意の各ドメインをカバーする個別のSSL証明書が必要ですか?

2
M.Gilbert

SSL証明書は、IPアドレスではなく、ドメインまたはホスト名を検証します。ただし、ほとんどのWebサーバーとブラウザーは、サーバー名表示(SNI)とサブジェクト代替名(SAN)をサポートするようになりました。つまり、2番目のIPアドレスは必要ありません。そのことについては、もう証明書を購入する必要はありません。 LetsEncrypt Certbot 複数のドメインのドメイン検証証明書を無料で提供します。

5
Simon Greenwood

サーバーがSNIをサポートしていない場合、またはサポートしていないブラウザーが心配な場合は、ドメインごとにCertが必要であり、ドメインごとにIPアドレスが必要です。

SNIの前は、クライアントがhttps接続を確立したとき、サーバーは、クライアントが接続したいhttpホストを認識する前に、それを受け入れて復号化する必要がありました。その場合、サーバーが同じIPアドレスで複数のhttpホストにサービスを提供している場合、サーバーは常に、クライアントが構成内で最初に注文されたホストに接続したいと想定します。応答で提供される証明書がクライアントによって要求されたホストと一致しなかった場合、ブラウザーはエラーを生成します。したがって、異なるIPアドレスで異なるドメインを実行する必要がありました。

SNIが有効になっている場合、サーバーは使用可能なすべての証明書をクライアント要求に提示し、クライアントはホスト要求が存在する場合は正しい証明書と一致させることができます。つまり、一致する証明書がない場合にのみブラウザーエラーが生成されます。

これにより、同じIPアドレスに複数のhttpsホストをホストできます。ただし、ドメインごとにhttps証明書が必要です(無料または商用)。

2
Garreth McDaid

SSL証明書は、IPごとではなくドメインごとにあります。

1000個のIPを持つことができますが、ドメインmyextradomain.comの証明書がある場合は、SSL証明書を使用して1000個のIPでこのサイトをホストできます:)。

例に多くのサブドメインがある場合:

  • subdomain.myextradomain.com
  • subdomain2.myextradomain.com
  • subdomain3.myextradomain.com

ワイルドカード証明書を購入すると、すべてのサブドメインでこの証明書を使用できます。

1
liske1