2015-12-08 8 views
5

hereの指示に従って、私は認証局を設定し、適切なフィールドを持つrabbitmq.configを作成しました。RabbitMQ + TLS:ssl_upgrade_error

CONNECTED(00000003) 
write:errno=104 
--- 
no peer certificate available 
--- 
No client certificate CA names sent 
--- 
SSL handshake has read 0 bytes and written 0 bytes 
--- 
New, (NONE), Cipher is (NONE) 
Secure Renegotiation IS NOT supported 
Compression: NONE 
Expansion: NONE 
No ALPN negotiated 
SSL-Session: 
    Protocol : TLSv1 
    Cipher : 0000 
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg : None 
    PSK identity: None 
    PSK identity hint: None 
    SRP username: None 
    Start Time: 1449612785 
    Timeout : 7200 (sec) 
    Verify return code: 0 (ok) 
--- 

を、私はログに次のエラーを参照してください:しかし、私は

openssl s_client -connect 127.0.0.1:5671 -tls1 

とRabbitMQのサーバーに接続しようとすると、私は標準出力に次のように取得

=ERROR REPORT==== 8-Dec-2015::16:13:10 === 
Error on AMQP connection <0.257.0>: 
{ssl_upgrade_error, 
    {options, 
     {cacertfile,"/home/nthompson/learn_celery/testca/cacert.pem", 
      {error,eacces}}}} 

何が問題なのでしょうか?

ノー成功を収めて、次のことを試してみました:

  • はつまり、私はchmod 444 cacert.pemを走っただけでなく、いくつかのより多くの絶望的なアクセス許可、無サイコロ、cacert.pemのパーミッションを開きます。すべての中間ディレクトリが775

  • の権限がRabbitMQのサーバが実際にポート5671でリッスンしていることを検証し、それがあったことを

  • 検証済み:

    $ sudo rabbitmq status 
    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{'amqp/ssl',5671,"::"}]}, 
    
  • rabbitmq.configですべてのパスをチェック、 {verify,verify_none}{fail_if_no_peer_cert,false}を設定して証明書交換ポリシーを緩和します。

  • $ sudo rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl 
    

    経由rabbitmq_auth_mechanism_sslプラグインの使用を可能にし、それがrabbitmq-serverに拾われたことを確認しました。さらにに{auth_mechanisms, ['PLAIN', 'AMQPLAIN', 'EXTERNAL']}を追加しました。

  • RabbitMQのバージョンは3.5.4(デフォルトはapt-get)ですが、3.5.6(最新)にアップグレードしてこれがなくなるかどうかを確認しました。

+0

ここに記載されているものを試しましたか? https://www.rabbitmq.com/troubleshooting-ssl.html – xkcd149

+0

問題を解決できましたか?私はまったく同じものを持っており、rabbitMQのトラブルシューティングページはまったく役に立たない。 – Sebastien

答えて

0

多くの混乱と検索の後、私は結局それを得ました!

私の場合、問題は証明書ファイルの所有権とアクセス許可に起因していました。

私は私の/etc/rabbitmq/rabbitmq.config証明するように編集され、キーとCAfileは私がchown -R rabbitmq:rabbitmq /etc/rabbitmq/confその後、/etc/rabbitmq/conf/に元.pemファイルをコピーし、サービスservice rabbitmq-server restartを再起動し、それが働いた、/etc/rabbitmq/conf/<file>.pemを指摘しました。