Имеется множество терминалов. Терминал - ПК с которым взаимодействует Конечный пользователь (короткая сессия, обычно оплата), периодически у пользователей возникает недопопонимание интерфейса или иные сложности. Для быстрого решения требуется помощь Оператора. Для Оператора существует веб-интерфейс из которого он может просматривать экран Терминала + выполнять операции недоступные Конечному пользователю. На терминале запущен VNC сервер + конвертация vnc в websocket для отображения в браузере. Проверка концепции сделана - поток vnc транслируется в браузер по websocket, но с рядом технических ограничений, которые нас не устраивают:
при недоступности одного из терминалов веб сервер (nginx) не может стартовать,
путь статичный - что не небезопасно, нужен динамический или защищенный авторизацией (предпочтительно)
периодически необходимо изменять пути до терминалов, сейчас это происходит в с помощью ручных правок.
Задача: Необходимо обеспечить трансляцию VNC в веб-браузер из внутренней сети через веб-шлюз(стандартный nginx), т.е. для браузера все адреса должны быть https://nginx-server/vnc/
Кол-во машин от которых будет выводится vnc не ограничено, терминалы имеют внутренний IP.
Требования:
а. динамическое добавление/изменение/удаление маршрутов nginx - предложить варианты и участвовать в реализации
б. авторизация запросов - предложить варианты и участвовать в реализации
в. при изменениях вебсервер не должен разрывать активные соединения websocket и http
г. старт вебсервера должен происходить даже если один из проксируемых узлов недоступен
Прочее:
* Допустимо использовать коммерческие продукты, которые можно оплатитить, использовать и которые поддерживаются на территории РФ
* Предпочтительно использовать OpenSource решения
При обсуждении задачи предварительное знакомство в формате онлайн конференции ОБЯЗАТЕЛЬНО