关于ActiveMQ和WebSockets的previous question之后,我想知道是否支持安全的WebSockets。
我在官方网站上找不到任何关于它们的信息(OT:文档组织得非常糟糕)我尝试使用以下传输连接器但没有成功:
<transportConnector name="websocket" uri="wss://0.0.0.0:61614"/>
<transportConnector name="websocket" uri="ws+ssl://0.0.0.0:61614"/>
对我而言,鉴于ActiveMQ的专业目标以及其他传输支持ssl(例如stomp + ssl)这一事实,这种联系实际上是不可能的。
感谢。
答案 0 :(得分:3)
更新回答:是,从5.7.0开始:http://activemq.apache.org/websockets.html
引用此处:
版本5.7.0引入了Secure Web Socket传输。要配置它,您需要两件事。首先,您需要配置一个像这样的新传输连接器
<transportConnectors>
<transportConnector name="secure_websocket" uri="wss://0.0.0.0:61614"/>
</transportConnectors>
请注意,我们使用wss url前缀来表示协议的安全版本。接下来,您需要为此传输提供SSL上下文。您可以通过在代理配置中以与ssl或https传输类似的方式提供sslContext来实现此目的。
<sslContext>
<sslContext keyStore="file:${activemq.conf}/broker.ks"
keyStorePassword="password" trustStore="file:${activemq.conf}/broker.ts"
trustStorePassword="password"
/>
</sslContext>
就是这样,您的安全websocket传输已准备就绪。
答案 1 :(得分:2)
此时......
ActiveMQ仅支持websocket ws:// urls
Apollo 1.1 SNAPSHOT支持ws和wss
<connector id="ws" bind="ws://0.0.0.0:61623" connection_limit="2000"/>
<connector id="wss" bind="wss://0.0.0.0:61624" connection_limit="2000"/>