2017-01-21 4 views
0

проблема решена: проверить дно размещенияWebSockets в HiveMQ не работает - ничего в журнале

Я не могу подключиться к WebSockets. Порт 1883 отлично работает. Это выход из MQTT.fx:

2017-01-21 07:46:26,293 INFO --- BrokerConnectorController  : onConnect 
2017-01-21 07:46:26,294 INFO --- ScriptsController    : Clear console. 
2017-01-21 07:46:26,295 INFO --- MqttFX ClientModel    : MqttClient with ID MQTT_FX_Client_Websocket assigned. 
2017-01-21 07:46:36,314 ERROR --- MqttFX ClientModel    : Error when connecting 
org.eclipse.paho.client.mqttv3.MqttException: Connection lost 
at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
at java.lang.Thread.run(Unknown Source) [?:1.8.0_112] 
Caused by: java.io.EOFException 
at java.io.DataInputStream.readByte(Unknown Source) ~[?:1.8.0_112] 
at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
... 1 more 
2017-01-21 07:46:36,315 ERROR --- MqttFX ClientModel:Please verify your Settings (e.g. Broker Address, Broker Port & Client ID) and the user credentials! 
org.eclipse.paho.client.mqttv3.MqttException: Connection lost 
at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
at java.lang.Thread.run(Unknown Source) [?:1.8.0_112] 
Caused by: java.io.EOFException 
at java.io.DataInputStream.readByte(Unknown Source) ~[?:1.8.0_112] 
at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[org.eclipse.paho.client.mqttv3-1.1.0.jar:?] 
... 1 more 
2017-01-21 07:46:36,321 INFO --- ScriptsController    : Clear console. 
2017-01-21 07:46:36,322 ERROR --- BrokerConnectService   : Connection lost 

Я сделал тест Telnet на сервер и порт и получить пустой терминал. Я предполагаю, что это означает, что есть соединение, потому что в противном случае у меня было бы «соединение не удалось». Плагин журнала сообщений ничего не показывает, и в файле журнала ничего нет.

Его Debian и HiveMQ 3.2.2.

JAVA_OPTS: -Djava.net.preferIPv4Stack=true -XX:-UseSplitVerifier -noverify -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/hivemq/heap-dump.hprof 

------------------------------------------------------------------------- 

2017-01-21 07:37:02,159 INFO - Starting HiveMQ Server 
2017-01-21 07:37:02,176 INFO - HiveMQ version: 3.2.2 
2017-01-21 07:37:02,178 INFO - HiveMQ home directory: /opt/hivemq 
2017-01-21 07:37:02,226 INFO - Log Configuration was overridden by /opt/hivemq/conf/logback.xml 
2017-01-21 07:37:12,013 INFO - Loaded Plugin HiveMQ JMX Metrics Reporting Plugin - v3.0.0 
2017-01-21 07:37:12,014 INFO - Loaded Plugin HiveMQ MQTT Message Log Plugin - v3.0.0 
2017-01-21 07:37:12,014 INFO - Loaded Plugin HiveMQ Sys Topic Plugin - v3.0.0 
2017-01-21 07:37:12,014 INFO - Loaded Plugin HiveMQ JVM Metrics Plugin - v3.1.0 
2017-01-21 07:37:12,038 INFO - JMX Metrics Reporting started. 
2017-01-21 07:37:12,099 INFO - JMX Metrics Reporting started. 
2017-01-21 07:37:12,109 INFO - Starting TCP listener on address 192.168.0.12 and port 1883 
2017-01-21 07:37:12,131 INFO - Starting Websocket listener on address 192.168.0.12 and port 8000 
2017-01-21 07:37:12,139 INFO - Started TCP Listener on address 192.168.0.12 and on port 1883 
2017-01-21 07:37:12,139 INFO - Started Websocket Listener on address 192.168.0.12 and on port 8000 
2017-01-21 07:37:12,140 INFO - Started HiveMQ in 9967ms 
2017-01-21 07:37:12,142 INFO - No valid license file found. Using evaluation license, restricted to 25 connections. 

EDIT

Ok это проблема Nginx, потому что без SSL работает мой сайт JavaScript. Должна быть возможность использовать протокол SSL для HTTP и ни безопасным для WebSockets, как я могу видеть здесь:

Nginx MQTT websocket proxy 1

Nginx MQTT websocket proxy 2

Я пытался там конфигурации, но не везло.

Нет необходимости в прокси-сервере Nginx с HiveMQ. Проблема заключается в том, что Firefox не принимает самоподписанный сертификат для веб-сайтов. Настройка «network.websocket.allowInsecureFromHTTPS» на true приведет к его работе. В Chrome вы получите сообщение о безопасности JavaScript, и вы можете принять его. Поскольку я использую только Firefox, и нет сообщений, для выяснения того, что было не так, потребовалось несколько часов. Также функция paho onFailure не отображалась.

ответ

0

к сожалению, websocket support еще не был реализован в MQTT.fx.

Вам понадобится использовать другой MQTT-клиент, если вы настаиваете на подключении через websocket.

Приветствия,

Флориан, из HiveMQ команды.

+0

Также с mqtt-spy он не работает. # netstat -na | grep 8000: tcp 0 0 192.168.0.12:8000 0.0.0.0:* LISTEN – MrGlasspoole

+0

Можете ли вы попробовать [The HiveMQ Websocket Client] (http://www.hivemq.com/demos/websocket-client/)? – fraschbi

+0

Это проблема, которую я пытаюсь решить. Мой местный сайт (paho.js) не работает, поэтому я пытаюсь его с клиентами. Также попробовал это с доменом в mqtt-spy. Выходной файл ~ # lsof -iTCP: 8000: java 27019 root 687u IPv4 1190757 0t0 TCP hellgate.skulltronics.net:8000 (LISTEN) – MrGlasspoole

Смежные вопросы