MQTT в публичную ссылку - PullRequest
       60

MQTT в публичную ссылку

0 голосов
/ 27 марта 2019

У меня есть брокер mqtt по ip

mqtt://xxx.xxx.xxx.xxx:8888/

У меня есть веб-сайт

http://mywebsite.com/

Теперь я хочу сделать так

mqtt://mywebsite.com:8888/

Если бы это было так, все равно можно:

mqtt://iot.publicwebsite.com:8888/ FORWARDFROM-> http://localhost:8888/
OR
mqtt://iot.publicwebsite.com:8888/ FORWARDFROM-> http://xxx.xxx.xxx.xxx:8888/

Ответы [ 2 ]

2 голосов
/ 27 марта 2019

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

  1. Настройка переадресации портов на общедоступной машине.Это означает, что необходимо настроить брандмауэр на прием любого трафика, поступающего на порт 8888, и переадресацию его на машину брокера, а также выполнить обратный процесс с любым ответным трафиком.Предполагая, что вы находитесь в Windows, вы должны использовать команду netsh.См. Этот вопрос для деталей.Это должно работать как для Native MQTT, так и для MQTT через Websockets.Если вы уже используете переадресацию портов с вашего маршрутизатора на машину, на которой работает ISS, вам нужно настроить переадресацию портов посреднику на маршрутизаторе, а не на машине Windows.

  2. Если выЕсли вы используете MQTT через Websockets, вы можете настроить ISS в качестве обратного прокси-сервера.Этот вопрос объясняет, как это сделать.

0 голосов
/ 27 марта 2019

Успешно откройте мой порт и IP для публики.Внешний IP = (IP-адрес, предоставленный поиском Google «что такое мой IP-адрес»)

1: вход в систему на сетевом портале маршрутизатора / сервера, например: 192.168.1.1 или Ext IP

2: Сделатьобщедоступный портал (доступ к нему возможен везде с помощью ip) - ip, предоставляемый поиском Google "what is my ip"

3: опция брандмауэра Goto

4: создание переадресации нового порта

5: выберите входящий IP (внешний IP).Входящий порт: (установите любой порт, который не используется).Протокол: TCP + UDP

6: Перевести ip (IP-адрес компьютера).Порт: (ваш целевой порт).Выберите NAT.

7: протестировано mqtt: // {EXT.IP}: {Входящий порт}

...