У нас в интранете есть веб-сервис, который сам использует множество внутренних веб-сервисов. Нет абсолютно никакого доступа к внутренней сети из Интернета, но есть корпоративный прокси, который позволяет доступ к Интернету через HTTP из нашей интрасети.

Существуют ли решения, позволяющие сделать этот интранет-сервис доступным в общедоступном Интернете?

Я вижу это как некий обратный прокси pub-sub, сделанный из двух компонентов:

  1. Pub-sub очередь, размещенная в общедоступном Интернете. Он получает HTTP-запросы от любого клиента в Интернете и сохраняет их в своей очереди (пока не отвечает на запрос).
  2. Какой-то длинный обратный прокси-сервер, установленный на любом сервере в нашей внутренней сети. Он подписывается на (1) через корпоративный прокси-сервер через HTTP, получает запросы из своей очереди, выполняет их и отправляет ответы обратно.

Это те ответы, которые (1) отправляют обратно как ответы на исходные запросы. Таким образом, клиент даже не «знает», что все это происходит.

Есть ли что-то подобное? Это плохая идея?

1 ответ1

0

Вы можете сделать это правильно через свой ИТ-отдел. Все остальное может привести к неприятностям, но я также об этом расскажу.

Похоже, что люди, которые настроили вашу ИТ, решили очень плотно заблокировать сеть. Чтобы [законно] разрешить работу этого приложения, вам нужно работать с ними, чтобы обойти блок - и это в принципе вполне выполнимо. Вы должны либо перенаправить порт с внешнего IP-адреса маршрутизатора на веб-сервер, либо, для большего контроля и безопасности, настроить и направить его через какой-либо прокси-сервер [Точный тип прокси-сервера будет зависеть от того, что / как вы хотите отфильтровать / ограничить его - Mod_Proxy + Mod_Security может делать то, что вы хотите, или Squid или privoxy или что-то еще]

Если вы не можете работать со своим системным администратором, то все, что вы делаете, будет пытаться победить сеть, и, вероятно, столкнется с тем, что кого-то уволят или в слезах (скорее всего, вы, если только вы не управляете ИТ-отделом, в этом случае прикрой спину). Вы можете либо получить альтернативное сетевое подключение для него, либо настроить какой-либо VPN (где VPN работает через порт 80 или 443, так что это выглядит как HTTP-трафик). Есть много причин, по которым это плохая идея.

Концептуально возможно написать какой-то веб-сайт - размещенный в более широком Интернете, который может принимать запросы, затем какой-то сценарий для вашего веб-сервера, чтобы подключить эту систему и статически выдвигать соответствующий контент, который затем можно подавать - либо в прямом ответе - но с большой задержкой - к исходному запросу или к последующему доступу. Мне кажется, что эти сценарии требуют много работы и даже больше работы для обеспечения безопасности, и дают вам очень мало того, что их правильное выполнение не поможет.

Отмечу, что если доступ к веб-серверу нужен только авторизованным людям, поскольку компании, внедряющие этот вид фильтрации, как правило, довольно велики, вероятно, существует какой-то VPN, позволяющий людям подключаться к сети - возможно, ИТ-отдел может разрешить людям кому нужен удаленный доступ к этому серверу для подключения к нему через VPN. Это было бы довольно распространенным.

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