最近、いくつかのサイトにプライベートSSLを設定する方法について、共有ホスティングプロバイダーに問い合わせました。同じプランでホストされているサイトがいくつかあります(このプランでは無制限のドメインが許可されています)。ただし、共有ホスティングであり、最終的に各サイトは同じIPアドレスから実行されるため、単一の証明書しかインストールできず、サイトの1つだけを保護できると言われました(各証明書には専用のIPが必要であるため)。
彼らが私に与えたもう1つのオプションは、共有証明書を使用することでした。ブラウザが証明書の警告を生成するため、これは受け入れられません。私の質問は、これは一般的な共有ホスティングプロバイダーですか?それとも、複数のプライベート証明書を許可するプロバイダーを見つけることができますか?現在いくつかのサイトを開発しており、コストを最小限に抑えたいので、まだVPSまたは専用ホスティングにアップグレードしていません。ありがとう。
共有ホスティングプロバイダーから提供された情報は確かに正確でした。
SSLベースのトラフィックは、最初のSSLハンドシェイクと暗号化された接続を確立できるように、単一のIPアドレスにバインドする必要があります。これはすべて、Webサーバーに要求されたURIが提示される前に行われます。このため、各IPアドレスにバインドできる証明書は1つだけです。 SSL証明書のインストールを妨げる単一のIPアドレスにバインドされた無制限のドメインを持つことができます。
多くの共有プロバイダーでは、SSL証明書を利用できるようにするために、特定の共有ホスティングプランで追加のIPアドレスを支払うことができます。あなたのプロバイダーが実際にこれを提供していることに気付くかもしれませんが、これはより高度なサービスと考えられ、より単純なホスティングプランでは利用できないかもしれないので、別のプランでしか利用できないかもしれません。
編集:この質問は、正解(下)が正しかった2009年の質問です。人々がこの情報に今遭遇した場合、それは多かれ少なかれ無関係です:
問題は[〜#〜] ssl [〜#〜]についてであり、about SSLで述べた制限は今でも正しいものです。ただし、everybodyは[〜#〜] tls [〜#〜]を現在使用しており、 Server Name Indication (SNI)は広く利用可能で、この問題を正確に解決します。もちろん、引き続きワイルドカード証明書を使用できますが、各TLSホストの個々の証明書は possible でもあります。
これは、元の2009年の質問の状況では役に立ちませんが、編集、2015年の時点でより適切になるように回答を更新します
2009年の元の回答:
IPごとに1つのhttpsエンドポイントに関する情報は正しいです。このプロトコルでは、クライアントとサーバーがURLをネゴシエートする前に暗号化が開始され、VirtualHostsがSSLを有効にするために必要になります。キー/証明書は、1つのIPに複数の証明書を設定するためのURL(別名ホスト名)に依存しますが、サーバーがどのURLにアクセスするかを知る前に使用されます。
プロトコルが開発中であることを理解していますが、現在この問題の解決策はありません-少なくとも一般には利用できません。
更新:自分のIPが1つしかない場合は、ワイルドカード証明書を使用できます。基本的には、www.example.comではなく* .example.comのIDを認証するため、ブラウザで警告が生成されることなく、複数のホストが同じIPを共有できます。
Apache 2.2.12を使用してSNIを実装する場合、これは当てはまりません。証明書ごとに単一のアドレスは必要ありません。うまくいけば、共有ホスティングでこれを利用できるようになるでしょう。
https://www.digicert.com/ssl-support/Apache-multiple-ssl-certificates-using-sni.htm
同じIPを使用する複数のドメインを保護する方法は2つしかありません。証明書ごとに異なるサービスポートを使用するか(このオプションは最低)、証明書内でSubjectAltNameを許可するCAを見つけます。
SubjectAltNameを使用すると、証明書ごとにいくつでもDNSエントリを定義できます。 1つの証明書が複数のドメインを認証することを意味します。ドメインには共通点がないため、これはワイルドカードを超えています。この例として、これを許可する CAcert を確認できます。
複数のIPを提供する共有ホストを見つけることができる場合、複数の証明書を取得できますが、共有しない限り、実際には(私が理解しているように)同じIPアドレスに複数の証明書を作成することはできません。
より費用対効果の高い何かが必要な場合(そして、独自の構成作業を行うことを恐れない場合)、ラックスペースクラウド(以前のMosso、EC2と同様、少しだけ安い)を見ることができます...理論的には月額約15ドルで開発サーバーを実行します): http://www.rackspacecloud.com
[更新]コメントするのに十分な担当者がいませんが、以下で説明するように、技術的にはワイルドカード証明書を取得できます。これはドメインのすべてのサブドメイン(www.example.comを含む* .example.com)に有効です。ただし、これは複数のドメインでは機能しません。Olafが説明する理由により、複数のIPアドレスが必要です。
これは現時点ではそれほど有用な回答ではありませんが、将来的には Server Name Indication を使用できるようになるはずです。これは、TLSプロトコルの拡張機能を使用して、サーバー名をTLSハンドシェイク。 RFC3546 で指定されています。残念ながら、あまりサポートされていません。 OpenSSLは、5か月前にリリースされた0.9.8jまでデフォルトで有効にしません。 IE XPはサポートしていませんが、Vistaではサポートしています。そしてIISはサポートしていませんXP上のすべてのユーザーが姿を消し、ホスティングプロバイダーがサーバーをアップグレードするまでは、それについてできることは多くありません。
ホストは専用IPを持つことを許可しませんか?共有ホスティングを使用してプランを購入できるホストを見つけることができるはずですが、専用IPがあります。私たちはこれを、例えば現在サーバーインテレクト www.serverintellect.com で実行しています。基本的に、必要な専用IPごとに個別の少額の料金を請求するだけです。
単一のIPに対して複数のSSL証明書を持つことはできないのは事実です。
ただし、技術的にはdomain1.example.org domain2.example.comなどに有効な証明書を取得することは可能です...