Я получил необычный запрос, на который я не уверен, что есть решение.

Мой клиент хочет разместить веб-приложение на компьютере A и получить к нему доступ только путем посещения URL общедоступного компьютера P.

Обычно обратного прокси-сервера должно быть достаточно, но есть одно дополнительное, возможно, ненужное осложнение: мой клиент не хочет открывать порт веб-приложения на брандмауэре компьютера A - даже не ограниченный IP-адресом компьютера P. Но они согласны с тем, что машина A устанавливает соединение с машиной P, если машина A каким-либо образом устанавливает исходящее соединение.

Существует ли какое-либо существующее программное обеспечение, которое я могу использовать для настройки обратного прокси-сервера таким образом, чтобы машина A инициализировала соединение - подключение к порту, связанному с компьютером P - после чего машина P может выполнять обратный прокси-сервер входящих веб-запросов к компьютеру A?

На обеих машинах работает CentOS (6 или 7), и я имею полный контроль над установкой любого программного обеспечения, которое я на них нахожу. Единственным ограничением является то, что я не могу открывать входящие порты на общедоступном брандмауэре машины A (с машиной P, которая считается "общедоступной", несмотря на то, что, с моей точки зрения, она является доверенной машиной).

1 ответ1

1

Как вы, кажется, понимаете, любое решение, которое вы используете, намного хуже, чем открытие брандмауэра на машине B, чтобы позволить машине A.

Вы можете создать ssh-туннель от машины B к машине A, а затем использовать это. Синтаксис будет выглядеть примерно так (из машины A):

ssh -R 8081:localhost:8080 user @ machineb

Это позволит людям подключаться к localhost:8081 на машине A для подключения к порту 8080 на машинеb.

В этом случае это не очень хорошая идея, потому что вы теряете видимость трафика, затрудняя отладку, и без необходимости шифруете его через SSH.

Конечно, существует множество других способов сделать то же самое, например, настроить туннель OpenVPN между двумя компьютерами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .