在当前情况下,我使用stomp.py库(http://jasonrbriggs.github.io/stomp.py/stomp.html#module-stomp.connect)连接到另一个服务器上的ActiveMQ实例。我在python2.7上,当没有配置SSL时,连接工作得很好。除了主机和端口之外,我使用提供的连接方法(1.2)连接和提供下列参数:
键和cert文件是来自上述文件的文本,我使用了file ()方法获得了这些文件,这个方法看起来很好。
除其他选项外,我还尝试在ssl.SSL_Context中设置上下文。我非常肯定,ActiveMQ使用SSL和已经说过的协议。
当我试图使用conn.start()连接时,我会收到以下错误:
File "/usr/local/lib/python2.7/dist-packages/stomp/transport.py", line 733, in attempt_connection
tls_context.load_cert_chain(certfile, keyfile, password)
IOError: [Errno 71] Protocol error我无法找到一个让stomp.py使用SSL连接的示例,所以我无法找到这样做的方法。
有谁见过这个吗?
发布于 2017-08-11 11:54:41
经过相当广泛的搜索,我自己找到了答案。原来你以前需要set_ssl。
conn.set_ssl(for_hosts=[(activemq_url,activemq_port)],key_file=KEYFILE,cert_file=CERTFILE)在KEYFILE和CERTFILE中,您需要提供一个路径,以便set_ssl可以使用文件open()方法检查和传递内容。
注意:您需要在创建连接之后设置它,但是在之前调用conn.start()方法!
https://stackoverflow.com/questions/45631014
复制相似问题