web-dev-qa-db-ja.com

LetsEncrypt証明書を使用したRabbitMQ

LetsEncryptで生成した証明書をrabbitmqサーバーにインストールしようとしていますが、うまくいきませんでした。

許可の問題と戦わずに物事をテストするために、私はからpemファイルをコピーしました

/etc/letsencrypt/live/<domain>/

私のホームディレクトリに。また、cacert.pemファイルを、次の場所からホームディレクトリにコピーしました。

/home/<user>/.local/share/letsencrypt/lib/python2.7/site-packages/requests/cacert.pem

追加するためにrabbitmq.configを編集して、管理プラグインの上に証明書をインストールしようとすることから始めることにしました

{rabbitmq_management,
  [%% Pre-Load schema definitions from the following JSON file. See
   %% http://www.rabbitmq.com/management.html#load-definitions
   %%
   %% {load_definitions, "/path/to/schema.json"},
   %% Log all requests to the management HTTP API to a file.
   %%
   %% {http_log_dir, "/path/to/access.log"},
   %% Change the port on which the HTTP listener listens,
   %% specifying an interface for the web server to bind to.
   %% Also set the listener to use SSL and provide SSL options.
   %%
    {listener, [{port,     12345},
                {ip,       "127.0.0.1"},
                {ssl,      true},
                {ssl_opts, [{cacertfile, "/home/<user>/cacert.pem"},  %% File pulled from /home/<user>/.local....
                            {certfile,   "/home/<user>/cert.pem"}, %% File pulled from /etc/letsencrypt/live/<domain>/cert.pem
                            {keyfile,    "/home/<user>/privkey.pem"}]}]}  %% File pulled from /etc/letsencrypt/live/<domain>/privkey.pem

しかし、管理プラグインポートに移動しようとすると、rabbitmqログファイルにtls_alertが含まれていました

=ERROR REPORT==== 14-Dec-2015::03:08:05 ===
    application: mochiweb
    "Accept failed error"
    "{error,{tls_alert,\"decode error\"}}"

私は正しいファイルを使用していますか、それともおそらくもっと深い問題が発生していますか?

[〜#〜] update [〜#〜]証明書生成の詳細:gitリポジトリのクローンを作成することで暗号化をインストールできます:

git clone https://github.com/letsencrypt/letsencrypt

証明書作成の詳細。サーバー証明書は、次のコマンドでLets Encryptツールスイートを使用して作成およびインストールされました。

./letsencrypt-auto --server https://acme-v01.api.letsencrypt.org/directory -d <domain>

メモは、サブドメイン証明書であることです。例:xxxx.domain.com。

UPDATE 2問題のAMQPS部分に対して証明書が有効であり、機能していることを確認しました。メインの構成オプションを変更して、

   {ssl_listeners, [5671]},

   {ssl_options, [{cacertfile,           "/etc/rabbitmq/chain1.pem"},
                   {certfile,             "/etc/rabbitmq/cert1.pem"},
                   {keyfile,              "/etc/rabbitmq/privkey1.pem"},
                   {verify,               verify_none},
                   {fail_if_no_peer_cert, false}]}

SSL対応のPikaクライアントのスクリーンショットについては、添付の画像を参照してください SSL Enable Pika Client

8
Brian Cain

RabbitMQ 3.2.4には本当に問題があります。

Ubuntu 14.04RabbitMQ 3.2.4 and Erlang 16.b3)とUbuntu 15.10またはCentos 7(having RabbitMQ 3.5.4およびErlang 18.0)。

3.2.4では動作せず、3.5.4では動作します{mochiweb_socket_server、295、{acceptor_error、{error、accept_failed}}}。まだ開いているバグレポートは見つかりませんが、証明書は最新バージョンで完全に機能するため、管理プラグインにリンクされた問題であることは間違いありません。

4