на этот вопрос вполне может быть нет ответа или он может быть довольно глупым. Я думаю, мы узнаем.
Моя ситуация следующая:
Я работаю со встроенным устройством. На встроенном устройстве
работает 10-20 веб-сервисов — вы можете себе представить маленький
вебсервер. Каждый из них находится в своем собственном порту. Этот может иметь IP 152.0.0.1
Веб-интерфейс верхнего уровня обернут вокруг этих веб-сервисов. это
Вебинтерфейс работает по стандартной настройке LEMP (debian). Скажем, у этого есть IP 10.0.0.1
Для работы на встроенном устройстве можно локально перейти с веб-службы на веб-службу, вызвав 152.0.0.1:xxxx, 152.0.0.1:xxxy, 152.0.0.1:xxxz в (локальном) веб-браузере. Это отлично работает. Кажется сумасшедшим иметь такую настройку, но у меня нет возможности что-то изменить с этой стороны.
То, что я хотел бы сделать, это встроить небольшие веб-сервисы в веб-интерфейс верхнего уровня, который будет иметь панель навигации, где можно выбрать, на какой из них смотреть.
Обе системы не находятся в одной сети, но подключены через ssh-туннель. Однако сами порты являются динамическими, поэтому я не могу просто жестко закодировать их в веб-интерфейсе верхнего уровня. Я должен быть в состоянии построить навигационную панель, используя динамические порты, полученные из базы данных — это возможно. Поскольку таких встроенных устройств будет несколько, будет несколько портов для пересылки через соединение ssh. Это проблемная часть.
Мой вопрос: есть ли способ избавиться от этой ситуации с дилеммой порта только на уровне nginx / php7? Встроенное устройство должно сохранять свои собственные порты, но я не хотел бы вызывать их явно из веб-интерфейса. Кроме того, каждое устройство, имеющее набор портов, довольно громоздко. Я мог бы использовать обратный прокси-сервер nginx для сопоставления портов с URL-адресами, но мне пришлось бы делать это на встроенном оборудовании, что сложно. Я мог бы сделать это и на сервере debian, используя nginx, но это означает, что мне придется перенаправлять целую кучу портов со встроенного устройства на сервер debian, что не очень хорошо.
Есть ли способ заставить встроенное устройство создать страницу самостоятельно, используя ее внутреннюю схему порта, а затем отобразить ее на веб-интерфейсе верхнего уровня? Я думаю о команде, которая позволяет мне сделать это, например,
buildpage ($ device, $ port) только на встроенном устройстве и «перенаправить» весь контент этой встроенной веб-страницы на веб-интерфейс верхнего уровня. Тогда веб-интерфейсу верхнего уровня никогда не придется иметь дело с путаницей портов на встроенном устройстве, он просто должен сказать, какой порт он должен использовать, встроенное устройство внутренне предварительно визуализирует страницу и отправляет ее на веб-интерфейс верхнего уровня. , Дело в том, что вышеупомянутый ssh-туннель больше не должен был бы пересылать целую кучу портов, но, возможно, только один — что является конечной целью!
Я мог бы проследить за простым решением здесь, и подход, вероятно, не имеет особого смысла, но, пожалуйста, учтите это. В случае, если есть лучший вариант, я бы очень хотел знать.
Спасибо большое
Задача ещё не решена.
Других решений пока нет …