SSL証明書が一致しない
SSL証明書が一致しないエラーのDSEトラブルシューティング。
SSL証明書を生成するために使用するコモン・ネーム(CN)は、DNSの解決可能なホスト名と一致している必要があります。CNとノード・ホスト名が一致していない場合、例外が生じ、接続は拒否されます。dsetoolやその他のクラスターにコマンドを発行するツールの場合、エラー・メッセージが出ることは、環境が正しく構成されていないことが原因です。例を次に示します。
dsetool -h 10.236.136.55 reload_core keyspace_name.table_name deleteAll=true reindex=true distributed=false ... javax.net.ssl.SSLException: Certificate for <node35.foo.com> doesn't match any of the subject alternative names: clustercert.foo.com ...
このメッセージは、10.236.136.55
がnode35.foo.com
に解決され、ノードnode35.foo.com
に対して、clustercert.foo.com
というCNで発行された汎用証明書が要求されています。 セキュリティ上の理由から、SSLはnode35.foo.com
とclustercert.foo.comが
一致することを確認します。一致しない場合は、証明書の不一致エラーが発生します。各ノードには、それぞれ異なる名前が付けられているため、複数のノードにまたがって汎用証明書を使用しないでください。node35.foo.com
に発行されている証明書を別のノードにコピーしないでください。
ノードは、証明書CNと一致する正しい名前で構成する必要があります。名前付き証明書、または、SSL規格で許可されているその他のマッチング機構では、CN = *.foo.com
の*
のように、ワイルドカードを使用することができます。名前が一致しない他のすべての構成は、エラーになります。
他のツールとの接続をテストするときは、それらをセキュアな設定で有効にしてください。名前の一致を必要としない、セキュアでない設定ではテストしないでください。たとえば、curl --insecure
です。これらのセキュアでない設定では、証明書の不一致が識別されず、DSEツールでサポートされません。