Добрый день!
так вопрос возник
имеем серый IP, но при этом у нас есть в наличии роутер от zyxel keneetik II
пользуясь его облачным сервисом у меня отлично получается пробросить по порту 80 его интерфейс наружу
т.е. я вижу боковое меню, но поле веб интерфейса, где у нас показывают каналы, кнопки управления - почему то остается не доступным
P.S. KeenDNS поддерживает проброс через их облачный сервис только протокол HTTP
уточните пожалуйста, то что мы видим в другой части интерфейса
Веб-интерфейс работает так: вы по 80 порту загружаете сами страницы, а потом через WebSocket эти страницы получают и передают MQTT сообщения на контроллер по порту 18883.
То есть вам нужно пробросить не только 80 порт (сами страницы), но и MQTT сообщения, а в веб-интерфейсе на странице Settings - Web UI указать, где их получать.
Нет, не нужно. Следует выставить доступный с (хоста)компьютера адрес и порт, которые затем уже перенаправляются на реальный адрес-порт контроллера. Идея в том что WS запросы отправляются на прокси контроллера.
main.8dfdefce0c8faf996c23.js:2 Mixed Content: The page at ‘https://wb.****.keenetic.name/#!/web-ui’ was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint ‘ws://wb.*****.keenetic.name:18883/mqtt’. This request has been blocked; this endpoint must be available over WSS.
Т.е. UI всё равно пытается коннектится на порт 18883, хотя в UI указан 80 (похоже, что настройка порта для MQTT как-то к хосту привязана)
т.е. первый вопрос, как сделать, чтобы UI подключался к wss:// вместо ws:// ?
У меня сейчас такая ошибка : Не удалось подключиться к wb.*********.keenetic.pro:80 от имени contactless-E8NwkXjQ4M. “AMQJS0007E Socket error:undefined.” (7)
Важно, что ssl терминирует keenetic
т.е. веб-морда приходит на https и пытается коннектится на ws:// (т.е. без SSL и настройки безопасности браузера это не позволяют)