Я пытаюсь решить проблему, которая кажется простой, но не могу найти чистую архитектуру.
Эта проблема: У меня клиент пытается получить доступ к графану в Локальной сети.
|Маршрутизатор|------|Клиент
| |
|------|Графана
Когда вы находитесь за маршрутизатором (и, следовательно, за брандмауэром), вы можете легко получить доступ к графане и использовать ее. Я хотел бы, чтобы то же самое происходило вне локальной сети.
Клиент|------|Роутер|-------|Grafana
Простое решение:
Базовым решением является перенаправление портов и просто открытие порта X на маршрутизаторе. Мне не нужно это решение, потому что я не могу открывать порты (по разным причинам, не связанным).
Лучшая идея Я думаю о настройке следующей архитектуры, в которой представлен новый сервер.
Клиент|------|Сервер|-------|Маршрутизатор|-------|Grafana
Идея состоит в том, что сервер будет поддерживать соединение с Grafana. Это предотвратит любую переадресацию портов, поскольку сервер grafana делает первый шаг.
Затем, если клиент хочет получить доступ к графане, он получит доступ к серверу, который перенаправит его на графану.
После первого звонка, В идеале хотелось бы, чтобы клиент установил прямое соединение с графаном, минуя сервер.
Также grafana является примером/туто, любое другое решение с http-связью будет в порядке.
Вопросы:
- Это возможно ?
- Вроде есть инструменты (CND, reverse proxy), но они не совсем подходят под мои нужды, а может я просто не умею ими пользоваться?
- Какие инструменты использовать на серверах A и B (websocket, socket.io, Nginx, Apache...). Оба сервера используют Linux.
Спасибо !