如何在 HornetQ 中接受安全的 websocket 连接

How to accept secure websocket connections in HornetQ

我正在尝试配置 HornetQ 以接受用于 STOMP 通信的安全 websocket 连接 (wss://)。我正在使用 HornetQ 2.4.0.Final。我已经成功地配置了一个不安全的连接:

<acceptor name="stomp-acceptor">
    <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
    <param key="protocols"  value="STOMP"/>
    <param key="host"  value="localhost"/>
    <param key="port"  value="61613"/>
</acceptor>

我尝试添加 ssl-enabledkey-store-pathkey-store-password,以及连接器的适当 trust-store-* 设置,如 ssl-enabled 示例包含在 HornetQ 中,但没有成功。

这可能吗?

我想通了。我会解释,虽然我的 SSL 术语可能有点薄弱。

提供的证书是自签名的。由于浏览器最初不信任该证书,因此 wss 连接静默失败。作为解决方法,我浏览到 https://localhost:61613,浏览器显示了典型的安全警告并提示 proceed/confirm 安全异常。完成此操作后,wss:// 连接已成功建立。此策略在 Chrome 和 Firefox 中均有效。 (很遗憾,没有人告诉您连接失败的原因;本来可以节省很多时间。)

这个半相关的 irc 日志有帮助;否则我不会想尝试 https:// 连接:http://irclogs.dankulp.com/logs/irclogger_log/activemq?date=2013-06-28,Fri&text=on

回想起来也很有帮助:How to debug Safari silently failing to connect to a secure WebSocket