首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图使用STOMP.py连接时协议错误

试图使用STOMP.py连接时协议错误
EN

Stack Overflow用户
提问于 2017-08-11 08:57:40
回答 1查看 933关注 0票数 0

在当前情况下,我使用stomp.py库(http://jasonrbriggs.github.io/stomp.py/stomp.html#module-stomp.connect)连接到另一个服务器上的ActiveMQ实例。我在python2.7上,当没有配置SSL时,连接工作得很好。除了主机和端口之外,我使用提供的连接方法(1.2)连接和提供下列参数:

  1. ssl_key_file=ssl_key_file
  2. ssl_cert_file=ssl_cert_file
  3. ssl_version=ssl.PROTOCOL_TLSv1_2
  4. use_ssl=True

键和cert文件是来自上述文件的文本,我使用了file ()方法获得了这些文件,这个方法看起来很好。

除其他选项外,我还尝试在ssl.SSL_Context中设置上下文。我非常肯定,ActiveMQ使用SSL和已经说过的协议。

当我试图使用conn.start()连接时,我会收到以下错误:

代码语言:javascript
复制
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连接的示例,所以我无法找到这样做的方法。

有谁见过这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 11:54:41

经过相当广泛的搜索,我自己找到了答案。原来你以前需要set_ssl。

代码语言:javascript
复制
conn.set_ssl(for_hosts=[(activemq_url,activemq_port)],key_file=KEYFILE,cert_file=CERTFILE)

在KEYFILE和CERTFILE中,您需要提供一个路径,以便set_ssl可以使用文件open()方法检查和传递内容。

注意:您需要在创建连接之后设置它,但是在之前调用conn.start()方法!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45631014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档