2015-12-08 33 views
5

Zgodnie ze wskazówkami podanymi here, ustawiłem urząd certyfikacji i utworzyłem rabbitmq.config z odpowiednimi polami. Jednak przy próbie połączenia się z serwerem RabbitMQ zRabbitMQ + TLS: ssl_upgrade_error

openssl s_client -connect 127.0.0.1:5671 -tls1 

otrzymuję następujący w standardowym wyjściu:

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

i widzę następujący błąd w dziennikach:

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

Jaki może być problem?

Próbowałem następujące, bez powodzenia:

  • Otwórz uprawnienia cacert.pem, to wpadłem chmod 444 cacert.pem jak również niektóre bardziej beznadziejnych uprawnienia, nie ma kości.

  • Potwierdzono, że wszystkie katalogi pośrednie mają uprawnienia 775.

  • sprawdził, że serwer RabbitMQ rzeczywiście nasłuchuje na porcie 5671, a było to:

    $ sudo rabbitmq status 
    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{'amqp/ssl',5671,"::"}]}, 
    
  • sprawdzone wszystkie ścieżki w rabbitmq.config, i poluzował politykę wymiany certyfikatów, ustawiając {verify,verify_none} i {fail_if_no_peer_cert,false}.

  • umożliwiło wykorzystanie wtyczki rabbitmq_auth_mechanism_ssl poprzez

    $ sudo rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl 
    

    i zweryfikować, że został odebrany przez rabbitmq-server. Ponadto dodałem {auth_mechanisms, ['PLAIN', 'AMQPLAIN', 'EXTERNAL']} do rabbitmq.config.

  • Wersja RabbitMQ to 3.5.4 (domyślne apt-get), ale zaktualizowałem także do 3.5.6 (najnowszy), aby zobaczyć, czy to zniknie.

+0

Czy próbowałeś rzeczy wymienionych tutaj? https://www.rabbitmq.com/troubleshooting-ssl.html – xkcd149

+0

Czy udało Ci się rozwiązać problem? Mam dokładnie to samo, a strona rozwiązywania problemów z rabbitMQ jest całkowicie bezużyteczna. – Sebastien

Odpowiedz

0

Po wielu kłopotach i poszukiwaniach WRESZCIE to dostałem!

W moim przypadku problem został spowodowany przez własność plików certyfikacyjnych i uprawnienia.

edytowany mój /etc/rabbitmq/rabbitmq.config tak, że certyfikat, klucz i CAfile wskazał /etc/rabbitmq/conf/<file>.pem, kopiować oryginalne .pem pliki /etc/rabbitmq/conf/ potem chown -R rabbitmq:rabbitmq /etc/rabbitmq/conf i ponownym uruchomieniu usługi service rabbitmq-server restart i to działało.