2015-12-08 22 views
5

Làm theo hướng dẫn đã nêu here, tôi đã thiết lập tổ chức phát hành chứng chỉ và tạo rabbitmq.config với các trường thích hợp. Tuy nhiên, khi tôi cố gắng để kết nối đến máy chủ RabbitMQ vớiRabbitMQ + TLS: ssl_upgrade_error

openssl s_client -connect 127.0.0.1:5671 -tls1 

tôi nhận được sau trong đầu ra tiêu chuẩn:

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) 
--- 

và tôi thấy các lỗi sau đây trong các bản ghi:

=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}}}} 

Điều gì có thể là vấn đề?

Tôi đã thử những điều sau đây, không có thành công:

  • Mở các điều khoản của cacert.pem, ví dụ, tôi chạy chmod 444 cacert.pem cũng như một số điều khoản vô vọng hơn, không xúc xắc.

  • Validated rằng tất cả các thư mục trung gian có quyền của 775.

  • Validated rằng máy chủ RabbitMQ đã thực sự lắng nghe trên cổng 5671, và đó là:

    $ sudo rabbitmq status 
    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{'amqp/ssl',5671,"::"}]}, 
    
  • Kiểm tra tất cả các đường dẫn trong rabbitmq.config, và nới lỏng chính sách trao đổi chứng chỉ bằng cách đặt {verify,verify_none}{fail_if_no_peer_cert,false}.

  • Enabled việc sử dụng các plugin rabbitmq_auth_mechanism_ssl qua

    $ sudo rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl 
    

    và xác minh rằng nó đã được nhặt bởi rabbitmq-server. Ngoài ra, tôi đã thêm {auth_mechanisms, ['PLAIN', 'AMQPLAIN', 'EXTERNAL']} vào số rabbitmq.config.

  • Phiên bản RabbitMQ là 3.5.4 (mặc định apt-get), nhưng tôi cũng đã nâng cấp lên 3.5.6 (mới nhất) để xem liệu điều này có biến mất hay không.

+0

Bạn đã thử những điều được liệt kê ở đây chưa? https://www.rabbitmq.com/troubleshooting-ssl.html – xkcd149

+0

Bạn đã cố gắng giải quyết vấn đề chưa? Tôi có cùng một trang và trang khắc phục sự cố từ rabbitMQ hoàn toàn vô dụng. – Sebastien

Trả lời

0

Sau rất nhiều rắc rối xung quanh và tìm kiếm tôi CUỐI CÙNG!

Trong trường hợp của tôi, sự cố là do quyền sở hữu và quyền của tệp chứng nhận.

tôi thay đổi nội dung của tôi /etc/rabbitmq/rabbitmq.config để chứng chỉ, chìa khóa và CAFile chỉ vào /etc/rabbitmq/conf/<file>.pem, sao chép bản gốc .pem file trong /etc/rabbitmq/conf/ sau đó tôi chown -R rabbitmq:rabbitmq /etc/rabbitmq/conf và khởi động lại dịch vụ service rabbitmq-server restart và nó làm việc.