2016-05-10 3 views
1

Ich habe zwei Server, wo Hase mq ausgeführt wird und gruppiert sind. Ich habe ein CA-signiertes Zertifikat und dies ist auf beiden Servern konfiguriert. Einer der Server ist betriebsbereit, aber der andere Server gibt ein unbekanntes Zertifikat aus.Rabbit SSL-Konfiguration nicht wokring- {ssl_upgrade_error, {tls_alert, "Zertifikat unbekannt"}}

Ich bin wirklich verwirrt, warum der gleiche Satz von Zertifikaten auf einem Server und nicht auf dem anderen funktioniert.

[ 

    {rabbit, [ 
    {ssl_listeners, [ 5671]}, 
    {ssl_options, [{cacertfile,    "/etc/rabbitmq/certificates/RootCA.crt.pem"}, 
         {certfile,    "/etc/rabbitmq/certificates/sserver_cert.pem"}, 
         {keyfile,    "/etc/rabbitmq/certificates/server_key.pem"}, 
{depth, 2}, 
         {verify,verify_none}, 
         {fail_if_no_peer_cert, false}]} 
    ]} 
]. 

Kaninchen MQ und Erlang Versionen

{erlang_version, 
    "Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:4:4] [async-threads:30] [kernel-poll:true]\n"}, 

[{rabbitmq_management,"RabbitMQ Management Console","3.5.3"}, 
     {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.5.3"}, 
     {webmachine,"webmachine","1.10.3-rmq3.5.3-gite9359c7"}, 
     {mochiweb,"MochiMedia Web Server","2.7.0-rmq3.5.3-git680dba8"}, 
     {rabbitmq_management_agent,"RabbitMQ Management Agent","3.5.3"}, 
     {rabbit,"RabbitMQ","3.5.3"}, 

Der Fehler i auf einem der Server immer bin: -

=ERROR REPORT==== 10-May-2016::20:21:52 === 
SSL: certify: ssl_alert.erl:92:Fatal error: certificate unknown 

=ERROR REPORT==== 10-May-2016::20:21:52 === 
Error on AMQP connection <0.27744.2>: 
{ssl_upgrade_error,{tls_alert,"unexpected message"}} 

=ERROR REPORT==== 10-May-2016::20:21:52 === 
SSL: certify: ssl_alert.erl:92:Fatal error: unexpected message 

=ERROR REPORT==== 10-May-2016::20:21:52 === 
Error on AMQP connection <0.27748.2>: 
{ssl_upgrade_error,{tls_alert,"unexpected message"}} 

=ERROR REPORT==== 10-May-2016::20:21:52 === 
SSL: certify: ssl_alert.erl:92:Fatal error: unexpected message 

=ERROR REPORT==== 10-May-2016::20:21:53 === 
Error on AMQP connection <0.27752.2>: 
{ssl_upgrade_error,{tls_alert,"certificate unknown"}} 

=ERROR REPORT==== 10-May-2016::20:21:53 === 
SSL: certify: ssl_alert.erl:92:Fatal error: certificate unknown 
+0

Was sind Berechtigungen für * .pem-Dateien? Sind die Server genau gleich? – cantSleepNow

+0

Die Server sind identisch, Build mit dem Puppet script.chmod 777 Berechtigung ist für alle * PEM-Dateien gegeben. – Manu

+0

Die Fehlermeldung beginnend mit 'ssl_alert.erl: 92' zeigt, dass der _client_ eine fatale Warnung mit der Beschreibung" Zertifikat unbekannt "gesendet hat. Vielleicht überprüft der Client den Server-Hostnamen anhand dessen, was im Zertifikat enthalten ist, oder etwas Ähnliches. – legoscia

Antwort

0

Ich hatte nichts als Schmerz zu bekommen versuchen, Kaninchen, um mit TLS zu arbeiten.

Als Alternative haben wir schließlich Stunnel (https://www.stunnel.org/index.html) verwendet und transparente getunnelte Verbindungen auf der Client- und Server-Seite erstellt.

Es funktionierte eigentlich ziemlich gut, da es den zusätzlichen Entwicklungsvorteil hatte, den Clientcode nicht ändern zu müssen, sondern nur die Netzwerkadresse, mit der sie verbunden waren.