Java Rabbit SSL配置不工作-{SSL“升级”错误,{tls”警报,“证书未知”}

Java Rabbit SSL配置不工作-{SSL“升级”错误,{tls”警报,“证书未知”},java,erlang,rabbitmq,redhat,amqp,Java,Erlang,Rabbitmq,Redhat,Amqp,我有两台运行rabbit mq的服务器,它们是集群服务器。我有一个CA签名的证书,这是在两台服务器上配置的。其中一台服务器已启动并正在运行,但另一台服务器出现证书未知错误 我真的很困惑为什么同一组证书在一台服务器上工作而在另一台服务器上不工作 [ {rabbit, [ {ssl_listeners, [ 5671]}, {ssl_options, [{cacertfile, "/etc/rabbitmq/certificates/RootCA

我有两台运行rabbit mq的服务器,它们是集群服务器。我有一个CA签名的证书,这是在两台服务器上配置的。其中一台服务器已启动并正在运行,但另一台服务器出现证书未知错误

我真的很困惑为什么同一组证书在一台服务器上工作而在另一台服务器上不工作

[

  {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}]}
   ]}
].
兔子MQ和Erlang版本

{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"},
我在其中一台服务器上遇到的错误:

=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
=错误报告===2016年5月10日::20:21:52===
SSL:certify:SSL\U警报。erl:92:致命错误:证书未知
=错误报告===2016年5月10日::20:21:52===
AMQP连接错误:
{ssl_升级_错误,{tls_警报,“意外消息”}
=错误报告===2016年5月10日::20:21:52===
SSL:certify:SSL_alert.erl:92:致命错误:意外消息
=错误报告===2016年5月10日::20:21:52===
AMQP连接错误:
{ssl_升级_错误,{tls_警报,“意外消息”}
=错误报告===2016年5月10日::20:21:52===
SSL:certify:SSL_alert.erl:92:致命错误:意外消息
=错误报告===2016年5月10日::20:21:53===
AMQP连接错误:
{ssl_升级_错误,{tls_警报,“证书未知”}
=错误报告===2016年5月10日::20:21:53===
SSL:certify:SSL\U警报。erl:92:致命错误:证书未知

为了让rabbit使用TLS,我除了痛苦之外什么都没有

作为替代方案,我们最终使用stunnel()并在客户端和服务器端创建透明的隧道连接


它实际上工作得相当好,因为它有一个附加的开发好处,即不需要更改客户端代码,只需要更改它们连接的网络地址。

我在尝试让rabbit使用TLS时除了痛苦之外,什么都没有

作为替代方案,我们最终使用stunnel()并在客户端和服务器端创建透明的隧道连接


它实际上工作得相当好,因为它还有一个附加的开发好处,即不需要更改客户端代码,只需要更改它们连接到的网络地址。

对于*.pem文件的权限是什么?服务器是否完全相同?服务器是相同的,使用puppet脚本生成。chmod 777权限授予所有*pem文件。错误消息以
ssl\u alert.erl:92
开头,显示客户端发送了一个描述为“证书未知”的致命警报。客户端可能会根据证书中的内容或类似内容验证服务器主机名。对*.pem文件的权限是什么?服务器是否完全相同?服务器是相同的,使用puppet脚本生成。chmod 777权限授予所有*pem文件。错误消息以
ssl\u alert.erl:92
开头,显示客户端发送了一个描述为“证书未知”的致命警报。客户机可能会根据证书中的内容或类似内容验证服务器主机名。