Рейтинг:0

Перенаправление трафика порта 80 на несколько веб-серверов за брандмауэром

флаг cn
RDK

Я хочу настроить два веб-сервера за своим брандмауэром, оба доступны из клиентов интернет-браузера, используя обычный порт 80 и URL-адрес. Например сервер1 www.abc.com и сервер2 www.def.com.

Я не эксперт, но думаю, что понимаю, как использовать IPTABLE для переадресации портов. Но чего я не знаю (или не нашел), так это того, как выборочно выполнять переадресацию на основе запрошенного URL-адреса веб-сервера.

Предположим, что два сервера находятся на частных IP-адресах 10.0.0.100 и 10.0.0.110 соответственно, а мой маршрутизатор брандмауэра находится на общедоступном адресе 1.2.3.4. Я хочу для трафика порта 80 с URL-адресом www.abc.com для перехода на адрес 10.0.0.100 в качестве порта 80 и аналогично для трафика порта 80 с URL-адресом www.def.com перейти на 10.0.0.110.

Я полагаю, что два сервера могли бы прослушивать разные порты, если это необходимо, то есть 9000 и 9100 вместо 80.

Может кто-нибудь предложить какие-нибудь идеи? Спасибо

Рейтинг:5
флаг us

Это невозможно сделать с помощью IPTables. Это связано с тем, что целевой сервер включен в поле заголовка HTTP-запроса.

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

Поскольку IPTables просто пересылает IP-пакеты, он не может пересылать TCP-пакеты квитирования правильному адресату.

Вам необходимо настроить обратный прокси-сервер, такой как HAProxy, nginx или Apache, на компьютере с брандмауэром.

флаг cn
RDK
Спасибо. Я упомянул IPTABLES только потому, что читал об его использовании для переадресации портов. Можете ли вы предоставить более подробную информацию / ссылки на использование nginx и настройку «обратного прокси-сервера» для достижения моей цели?
флаг cn
RDK
Еще раз спасибо. С вашими подсказками я смог найти множество ссылок.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.