启用ssl时无法连接到rabbitmq管理控制台-centos docker容器
我在docker容器中安装了rabbitmq。我使用centos:最新图片创建了这个容器。我安装rabbitmq的步骤如下:启用ssl时无法连接到rabbitmq管理控制台-centos docker容器,docker,rabbitmq,erlang,centos7,Docker,Rabbitmq,Erlang,Centos7,我在docker容器中安装了rabbitmq。我使用centos:最新图片创建了这个容器。我安装rabbitmq的步骤如下: [ { rabbit, [ { loopback_users, [ ] }, { tcp_listeners, [ ] }, { ssl_listeners, [ 5671 ] }, { ssl_options, [ { cacertfile, "/path/to/cacert" }, { certfile,
[
{ rabbit, [
{ loopback_users, [ ] },
{ tcp_listeners, [ ] },
{ ssl_listeners, [ 5671 ] },
{ ssl_options, [
{ cacertfile, "/path/to/cacert" },
{ certfile, "/path/to/cert" },
{ fail_if_no_peer_cert, false },
{ keyfile, "/path/to/key" },
{ verify, verify_peer }
] },
{ hipe_compile, false }
] },
{ rabbitmq_management, [ { listener, [
{ port, 15672 },
{ ssl, true },
{ ssl_opts, [
{ cacertfile, "/path/to/cacert" },
{ certfile, "/path/to/cert" },
{ keyfile, "/path/to/key.pem" },
{ fail_if_no_peer_cert, false },
{ verify, verify_none }
] }
] } ] }
].
[
{ rabbit, [
{ loopback_users, [ ] },
{ tcp_listeners, [ ] },
{ ssl_listeners, [ 5671 ] },
{ ssl_options, [
{ cacertfile, "/path/to/cacert" },
{ certfile, "/path/to/cert" },
{ fail_if_no_peer_cert, false },
{ keyfile, "/path/to/key" },
{ verify, verify_peer }
] },
{ hipe_compile, false }
] },
{ rabbitmq_management, [ { listener, [
{ port, 15672 },
{ ssl, true },
{ ssl_opts, [
{ cacertfile, "/path/to/cacert" },
{ certfile, "/path/to/cert" },
{ keyfile, "/path/to/key.pem" },
{ fail_if_no_peer_cert, false },
{ verify, verify_none }
] }
] } ] }
].
然后我重新启动rabbitmq服务,并尝试使用url进行连接。但它没有联系
rabbitmq日志文件中有以下错误日志
=ERROR REPORT==== 6-Jul-2018::07:35:18 ===
application: mochiweb
"Accept failed error"
"{'EXIT',\n {{function_clause,\n [{ssl_cipher,hash_algorithm,\"\\b\",\n [{file,\"ssl_cipher.erl\"},{line,1175}]},\n {ssl_handshake,'-dec_hello_extensions/2-blc$^0/1-1-',1,\n [{file,\"ssl_handshake.erl\"},{line,1649}]},\n {ssl_handshake,'-dec_hello_extensions/2-blc$^0/1-1-',1,\n [{file,\"ssl_handshake.erl\"},{line,1650}]},\n {ssl_handshake,dec_hello_extensions,2,\n [{file,\"ssl_handshake.erl\"},{line,1649}]},\n {tls_handshake,decode_handshake,3,\n [{file,\"tls_handshake.erl\"},{line,182}]},\n {tls_handshake,get_tls_handshake_aux,3,\n [{file,\"tls_handshake.erl\"},{line,153}]},\n {tls_connection,next_state,4,\n [{file,\"tls_connection.erl\"},{line,454}]},\n {gen_fsm,handle_msg,7,[{file,\"gen_fsm.erl\"},{line,505}]}]},\n {gen_fsm,sync_send_all_state_event,[<0.500.0>,{start,20000},infinity]}}}"
=错误报告===2018年7月6日::07:35:18===
应用:mochiweb
“接受失败错误”
“{EXIT',\n{function\u子句,\n[{ssl\u密码,散列算法,\'\\b\”,\n[{file,\'ssl\u密码.erl\},{line,1175}]},n{ssl\u握手,'-dec\u hello\u扩展名/2-blc$^0/1-1-',1\n[{file,\'ssl\u-handshake.erl\},{line,1649},},'-n\n{ssl\n\u握手,'-dec\n\u扩展名/1-'[{file,\'ssl\u handshake.erl\},{line,1650}]}、{ssl\u handshake,dec\u hello\u扩展名,2、{n[{file,\'ssl\u handshake.erl\}、{line,1649}、{line,1649}、{tls\u handshake,decode\u handshake,3、{n[{file,\'tls\u handshake.erl\}、{line,182}、{s\u handshake,get\tlu,get\tlu,{tls\u handshake.erl\“},{line,153}]}、{tls\u connection,next\u state,4、{n[{file,\'tls\u connection.erl\“}、{line,454}}、{line,454}}、{gen u fsm,handle\u msg,7、[{file,\'gen u fsm.erl\}、{line,505}}、{gen gen gen fsm,sync\u发送所有u state\u事件,[,,开始,20000}}
这个错误的原因是什么?任何想法。提前感谢。错误
{function_子句,[{ssl_密码,hash_算法,“\b”,[{file,“ssl_密码.erl”},{line,1196}
发生这种情况是因为Erlang中的SSL应用程序的旧版本与现代web浏览器之间不兼容。请将Erlang升级到至少18.0版以解决此问题
此问题的id为OTP-12829,在中描述为:
OTP-12829优雅地忽略专有哈希符号算法
为什么选择RabbitMQ版本3.6.1?它非常旧,不再受支持,当前版本为3.7.7。此外,您没有提到如何安装Erlang或正在使用的Erlang版本。