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