私はに住んでいるwebsocketサーバーを作成していますws.mysite.example
。WebソケットサーバーをSSL暗号化およびdomain.example
SSL暗号化する必要があります。作成するサブドメインごとに新しい証明書を購入する必要がありますか?作成するサブドメインごとに専用のIPアドレスが必要ですか?サブドメインが複数ある可能性があります。
Ubuntuで実行されているNGINXとGunicornを使用しています。
私はに住んでいるwebsocketサーバーを作成していますws.mysite.example
。WebソケットサーバーをSSL暗号化およびdomain.example
SSL暗号化する必要があります。作成するサブドメインごとに新しい証明書を購入する必要がありますか?作成するサブドメインごとに専用のIPアドレスが必要ですか?サブドメインが複数ある可能性があります。
Ubuntuで実行されているNGINXとGunicornを使用しています。
回答:
これには2つのステップで答えます...
各サブドメインにSSL証明書が必要ですか?
はい、いいえ、それは異なります。標準のSSL証明書は、単一ドメイン用です(例:)www.domain.example
。標準の単一ドメイン証明書の他に、ワイルドカード証明書とマルチドメイン証明書の異なるタイプの証明書があります。
などのワイルドカード証明書が発行され*.domain.example
、クライアントはdomain.example
、www.domain.example
またはなどで終わるドメインで有効なものとして扱いますws.domain.example
。
マルチドメイン証明書は、ドメイン名の定義済みリストに対して有効です。これは、証明書のサブジェクトの別名フィールドを使用して行います。たとえば、あなたがのために、マルチドメイン証明書が欲しいというCAを言うことができるdomain.example
とws.mysite.example
。これにより、両方のドメイン名に使用できます。
これらのオプションのどちらも機能しない場合は、2つの異なるSSL証明書が必要です。
各サブドメインに専用IPが必要ですか?
繰り返しますが、これは「はい」と「いいえ」です。すべてはWeb /アプリケーションサーバーに依存します。私はWindowsの男なので、IISの例で答えます。
IIS7以前を実行している場合、SSL証明書をIPにバインドする必要があり、単一のIPに複数の証明書を割り当てることはできません。これにより、各サブドメインに専用のSSL証明書を使用している場合、各サブドメインに異なるIPが必要になります。マルチドメイン証明書またはワイルドカード証明書を使用している場合は、最初にSSL証明書が1つしかないため、単一のIPを使用できます。
IIS8以降を実行している場合、同じことが当てはまります。ただし、IIS8 +には、サーバー名表示(SNI)と呼ばれるもののサポートが含まれています。SNIでは、SSL証明書をIPではなくホスト名にバインドできます。そのため、リクエストの作成に使用されるホスト名(サーバー名)は、IISがリクエストに使用するSSL証明書を示すために使用されます。
単一のIPを使用する場合、特定のホスト名の要求に応答するようにWebサイトを構成できます。
ApacheとTomcatもSNIをサポートしていることは知っていますが、どのバージョンがそれをサポートしているかを知るには十分な知識がありません。
ボトムライン
アプリケーション/ Webサーバーと、取得できるSSL証明書のタイプに応じて、オプションが決まります。
abc.def.domain.com
、それも事実ですか?
各サブドメインの証明書、複数のサブドメインの証明書、またはワイルドカード証明書(*.yoursite.example
)を取得できます。
ただし、通常は通常の証明書よりもかなりコストがかかります。単一の証明書を共有するためanything.mydomain.example
、それらが唯一の実行可能な選択肢である種類のアプリケーションをホストしない限り、通常、セキュリティの観点からは最適なオプションではありません。
また、SNI対応のWebサーバーがあれば、複数のIPアドレスは必要ありません。つまり、SNIは最新のブラウザーでのみサポートされます(IE6以下では動作しません)。NginxとApacheの最近のバージョンは、SNIを透過的にサポートしています(SSL対応の仮想ホストを追加するだけです)。