我在流星应用程序中使用node-amqp通过SSL连接到rabbitMQ服务器。下面是我的连接字符串:
var rConn = AMQP.createConnection({ url: amqps://user:pass@host:pppp, vhost: '/virthost' });但是,没有建立任何连接。以下是RabbitMQ错误日志中的内容:
=INFO REPORT==== 25-Jun-2013::17:41:30 ===
accepting AMQP connection <0.20247.0> (xxx.xxx.xxx.xxx:pppp -> xxx.xxx.xxx.xxx:pppp)
=ERROR REPORT==== 25-Jun-2013::17:41:30 ===
error on AMQP connection <0.20231.0>: {ssl_upgrade_error,"record overflow"} (unknown POSIX error)
=INFO REPORT==== 25-Jun-2013::18:11:35 ===
accepting AMQP connection <0.22556.0> (xxx.xxx.xxx.xxx:pppp -> xxx.xxx.xxx.xxx:pppp)
=ERROR REPORT==== 25-Jun-2013::18:11:40 ===
error on AMQP connection <0.22556.0>: {ssl_upgrade_error,timeout} (unknown POSIX error)我在记录溢出错误中所能找到的就是检查正在运行的Erlang的版本。我尝试与之建立连接的机器使用的是最新版本。我不确定运行RabbitMQ的机器,但我会调查一下。任何进一步的帮助都将不胜感激。
发布于 2015-10-20 02:17:20
在这一点上,我恐怕响应得太晚了,但我刚刚遇到了类似的问题,结果是我正在通过管道将纯文本传输到RabbitMQ服务器套接字中。服务器期望SSL协商,但是我的客户端代码没有正确地设置SSL套接字,而是使用了常规套接字,导致了“记录溢出”,就像这样--尽管我的是over STOMP,看起来像这样:
=ERROR REPORT==== 19-Oct-2015::15:03:10 ===
STOMP detected TLS upgrade error on <0.1224.0> (127.0.0.1:52065 -> 127.0.0.1:61614): alert record overflowhttp://erlang.org/pipermail/erlang-questions/2012-December/071099.html就是一个泄密者。
所以,我提供这个答案是希望下一个查看这个问题的人检查他们的客户端正在向套接字中喷发什么。
https://stackoverflow.com/questions/17310646
复制相似问题