TLS経由でRethinkDBクラスタを設定しようとしています。私は多くの例とブログを見ていますが、どれも生産環境については説明していません。すべてが自己署名証明書を使用し、ローカルホストまたは公衆インターネットに公開されているホストに展開します。RethinkDBクラスタ接続中のOpenSSLエラー336105606の意味TLSハンドシェイク
しかし、私はOpenStackで動作するプライベートネットワークを使いたいと思います。したがって、すべてのホスト(OpenStack上のインスタンスと呼ばれる)にはプライベートIPがあります。この設定をテストするために、2つのインスタンス(Ubuntu 16.04 LTSを実行)を作成し、両方にRethinkDBをインストールしました。
this RethinkDBページによると、各サーバーにキー、署名付き証明書、および証明書ファイルを提供する必要があります。各証明書はCN(Common Name)を指定する必要があり、その証明書はホスト名またはホストのIPのいずれかでなければなりません。 IPアドレスはプライベートです。つまり、(192.168.0。*)
これを実行するには、hereという指示を使用して自分のCAを作成しました。ホストAの鍵ファイルとホストBの鍵ファイルを作成し、自分で署名しました中間CAを作成しました。すべての証明書をチェックし、すべてが戻ってきました。同じCAによって適切に署名されています。
は、だから今は、ホストAのIPへのCNが設定されたホストAの秘密鍵+公開証明書を持って、同じことが、私は上のキー、証明書や中間CA証明書をインストールしたホストB.
のために行きますRethinkDB confファイルに2つのサーバーを指定しました。また、クラスタポートを対応するIPにバインドします。 rethinkdbユーザーは、すべての鍵ファイルと証明書ファイルにアクセスできます。
ホストで重要な行confファイル
initial-password=MY_PASSWORD
bind-cluster=192.168.0.3
cluster-tls-key=/etc/ssl/private/rethinkdbA.key.pem
cluster-tls-cert=/etc/ssl/certs/rethinkdbA.cert.pem
cluster-tls-ca=/etc/ssl/certs/rethink-ca.pem
ホストBのconfファイル内の重要な行
initial-password=auto
bind-cluster=192.168.0.4
cluster-tls-key=/etc/ssl/private/rethinkdbB.key.pem
cluster-tls-cert=/etc/ssl/certs/rethinkdbB.cert.pem
cluster-tls-ca=/etc/ssl/certs/rethink-ca.pem
join=192.168.0.3:29015
それから私は、ホストA上のRethinkDBを開始私は私を与えるログファイルを確認最後に
2017-09-22T15:29:35.854921950 0.265890s notice: Server ready, "hosta_jll" 7ae511e3-2295-4882-a23b-99de9751708e
次に、私はホストBでRethinkDBを開始します。終了:
2017-09-22T13:12:39.647368542 0.135787s notice: Listening for intracluster connections on port 29015
2017-09-22T13:12:39.647465611 0.135884s info: Attempting connection to 1 peer...
そして、ホストA上のログファイルがいっぱいになると:
2017-09-22T13:12:40.647465611 46.922271s error: Cluster server connection TLS handshake failed: certificate verify failed (OpenSSL error 336105606)
だから私は、これはOpenSSLのエラー336105606で何かを探し始めたが、何も見つかりませんでした!上で述べたように、実稼働環境でこれを行う方法を示すサンプル/ブログ/ハウツー/ヘルプページは見つかりませんでした。自己署名入り証明書を持つローカルネットワークと開発環境のみ。
conf-fileからcluster-tls- *行を削除すると、サーバはクラスタを形成します。しかし、TLSでは運がない。
私の質問は次のとおりです:エラーコードは何を意味していますか?私は間違って何をしていますか?そして、たとえプライベートなOpenStackネットワークで暗号化を使用する必要があるのでしょうか?hereこれは良い習慣だと言われていますか?
数日後に....お手伝いします!
多くのおかげで、前に、マーク