2011-07-13 127 views
1

在关于ActiveMQ和WebSockets的previous question之后,我想知道是否支持安全的WebSocket。ActiveMQ是否支持安全的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)的事实,这种连接实际上是不可能的。

谢谢。

回答

2

这时...

的ActiveMQ只支持WebSocket的WS://网址

Apollo 1.1 SNAPSHOT支持WS和WSS

For example:

<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"/> 
+0

我不知道阿波罗,看起来不错! –

1

更新的回答:是的,截至5.7.0:http://activemq.apache.org/websockets.html

引用:

版本5.7.0引入了Secure Web Socket传输。配置它需要两件事。首先,你需要配置一个新的传输连接器一样,我们使用WSS URL前缀表示该协议的安全版本

<transportConnectors> 
    <transportConnector name="secure_websocket" uri="wss://0.0.0.0:61614"/> 
</transportConnectors> 

注意。接下来,您需要为此传输提供SSL上下文。您可以通过在代理配置中提供sslContext来执行此操作,方法与您对ssl或https传输的操作类似。

<sslContext> 
    <sslContext keyStore="file:${activemq.conf}/broker.ks" 
     keyStorePassword="password" trustStore="file:${activemq.conf}/broker.ts" 
     trustStorePassword="password" 
    /> 
</sslContext> 

就是这样,你的安全的WebSocket运输准备就绪。