0

我在 solace VMR 上创建了一个新的消息 VPN,并将其 SSL 端口配置为 8884 。在其上配置默认 ACL 配置文件以允许发布和订阅两者。但是,当我尝试发布有关诸如“hellotopic”之类的主题的任何消息时,我会遇到如下异常:

Exception occoured Client is currently disconnecting (32102)
Connection lost on instance "123456" with cause "Connection lost" Reason code 32109" Cause "java.io.EOFException"
Connection lost (32109) - java.io.EOFException
    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:138)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException
    at java.io.DataInputStream.readByte(DataInputStream.java:267)
    at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:56)
    at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:100)
    ... 1 more

在安慰 VMR 事件日志中,它会立即连接和断开连接:-

2016-09-13T13:12:16+0000 <local3.info> solace event: CLIENT: CLIENT_CLIENT_CONNECT_MQTT: publisher_VPN #mqtt/1251123gf/216 Client (108) #mqtt/1251123gf/216 username default ClientId (1251123gf) connected to XXX.XX.XX.XX:8884 from XXX.XX.XX.XX:59736 SslVersion(TLSv1.2) SslCipher(ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256) authScheme(Basic) Clean(0) Will(0)

2016-09-13T13:12:16+0000 <local3.info> solace event: CLIENT: CLIENT_CLIENT_DISCONNECT_MQTT: publisher_VPN #mqtt/1251123gf/216 Client (108) #mqtt/1251123gf/216 username default ClientId (1251123gf) **reason(Service Unavailable)** final statistics - dp(1, 1, 0, 0, 1, 1, 25, 4, 0, 0, 25, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) conn(0, 0, XXX.XX.XX.XX:59654, ESTAB, 0, 0, 0) mqtt(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0), SslVersion(TLSv1.2), SslCipher(ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256), WillSent(0). 

试图找到解决方案,得到了一些关于我无权在以下主题上发布的信息。

PS - 我可以在默认 VPN SSL 端口上发布消息。

4

2 回答 2

0

必须为 Solace VMR 上的 Message VPN 启用 MQTT SSL 服务,才能使 MQTT 客户端连接到 Message VPN 的端口。

要使用 CLI 启用 MQTT SSL 服务,您可以使用以下命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# service mqtt
solace(configure/message-vpn/service/mqtt)# no ssl shutdown

要使用 SolAdmin 启用 MQTT SSL 服务,请导航到“消息 VPN、ACL 和网桥”选项卡。在“消息 VPN”视图下,右键单击消息 VPN 并选择“更改服务状态”。将出现一个弹出窗口,您可以在其中单独启用每个服务。

于 2016-09-13T14:57:51.307 回答
0

您说您可以在 QoS 0 而不是 1 下发布消息:您是否在消息 VPN 中配置了 Spool 大小?您可能想查看(第 17 步)处的产品文档并向Maximum Spool Usage属性添加大小:

最大线轴使用量

Message VPN 可以使用的最大消息假脱机磁盘空间量(以 MB 为单位)。注意:不进行监管以确保分配给消息 VPN 的所有消息假脱机配额的总和不超过路由器范围的消息假脱机配额。

默认情况下,此属性的值设置为 0,您可以尝试将其设置为 5 或 10(以 MB 为单位)。

于 2016-10-03T11:35:05.753 回答