各ユーザーのサブドメインとワイルドカードSSL証明書を持つサイトがあります
問題は、誰かがuser1.theirsite.com-> user1.mysite.comなどのcnameレコードを設定し、それでもhttpsを使用できるかどうかです。
接続を保護するためにサーバーにSSL証明書をインストールすると機能しますか?
ありがとう
これが機能するための最良の方法は、あなたと SSL証明書にSubject Alternate Name
拡張子としてあなたの X.509に「エイリアス」を含めるように手配することです。証明書。
これは、一部のCDNがクライアントのhttps
サイトをホストするときに使用するアプローチです。1つのサーバーでホストされているすべての既知のサイト名を1つの大きなSSL証明書に入れ、クライアントはCNAMEを使用して適切なCDNサーバーのドメイン。
ホスト名と証明書の検証(実際には、SSLが使用されていることの確認)は、クライアントの責任です。
ホスト名の検証は、クライアントがURLで要求したホスト名に基づいて、 RFC 2818 で指定されているようにクライアントによって実行されます。ホスト名のDNS解決がCNAMEエントリに基づいているか、それとも他の何かに基づいているかは関係ありません。
ユーザーがブラウザにhttps://user1.theirsite.com/
と入力している場合、ターゲットサイトの証明書はuser1.theirsite.com
に対して有効である必要があります。
user1.theirsite.com
とは異なるuser1.mysite.com
用の独自のサーバーがある場合、DNSCNAMEエントリは意味がありません。 2つのホストが事実上別個であると仮定すると、それらはuser1.theirsite.com
に対して独自の有効な証明書を持ち、https://user1.theirsite.com/
にリダイレクトすることができます。リダイレクトはアドレスバーにも表示されます。
user1.theirsite.com
からuser1.mysite.com
までのCNAMEが本当に必要な場合は、サーバー名表示を使用して、サイトでもホストできるように、証明書と秘密鍵を提供できる可能性があります(同じと仮定)ポート、そしてもちろんCNAMEを使用しているので同じIPアドレス)。これは、SNIをサポートするクライアントで機能します。ただし、秘密鍵を提供することには一定のリスクがあります(これは一般的には推奨されません)。
以下がセットアップされ、機能しています。
a.corp.com
-> CNAME b.corp2.com
-> A 1.2.3.4
のDNSエントリ
1.2.3.4
のhaproxyはa.corp.com
の証明書を提供し、サイトはWebサーバーバックエンドから正常にロードされます。
したがって、サーバーにはuser1.theirsite.com
certが必要であり、それは機能します。