Проброс портов на основе имени хоста в Windows Server

Вопрос или проблема

У меня есть Сервер A, который хостит Вебсайт A, и Сервер B, который хостит Вебсайт B. Оба находятся на Порту 80 и используют IIS в Windows Server 2016.

У меня разные домены для обоих серверов и оба сайта называются www.websiteA.com и www.websiteB.com.

У меня есть только 1 публичный IP-адрес, и на моем маршрутизаторе DMZ Сервер установлен на Сервер A.

Как сделать так, чтобы при доступе к www.websiteA.com открывался сервер A, а при доступе к www.websiteB.com – сервер B?

Я знаю, что это можно сделать с помощью прокси-сервера. Мой текущий маршрутизатор этого не поддерживает. Но возможно ли сделать это только с помощью переадресации портов или что-то подобное в Windows Server?

Я пробовал создать другой IIS как HTTP Redirect, но он просто перенаправляет на сервер B с его IP-адресом, а не что-то вроде переадресации портов.

Мне удалось сделать это с помощью Reverse Proxy 3.0 в Web Platform Installer.

  1. Установите URL Rewriter.

  2. Установите Reverse Proxy.

  3. Создайте новый сайт, используя www.websiteA.com в качестве имени хоста.

  4. Создайте другой сайт B, используя www.websiteB.com в качестве имени хоста.

  5. Щелкните по сайту B и найдите URL Rewrite в правом окне.

  6. В URL Rewrite добавьте правило и выберите Reverse Proxy.

  7. Заполните входящее правило вашим локальным IP-адресом сервера. Например, 192.168.1.2.

Готово!

Ответ или решение

Перенаправление по имени хоста в Windows Server

В данной статье рассматривается вопрос перенаправления трафика на два различных веб-сайта, хостящихся на разных серверах, с использованием одного публичного IP-адреса. Ситуация заключается в следующем: сервер A (сайт A) и сервер B (сайт B) работают на порту 80 с использованием Internet Information Services (IIS) в Windows Server 2016. Учитывая, что бизнес-аппараты могут не поддерживать более сложные настройки маршрутизаторов или прокси-серверов, мы предложим решение, которое можно реализовать с минимальными затратами и усилиями.

Проблема

  1. У вас есть два веб-сайта:

  2. Оба сайта размещены на разных серверах, использующих один и тот же порт (80).

  3. Необходимо настроить перенаправление трафика в соответствии с hostname (имя хоста).

Решение

Шаг 1: Установка необходимых компонентов

Ваша задача может быть успешно решена с помощью расширений для IIS, таких как URL Rewrite и Application Request Routing (ARR). Избежать использования сложных прокси-серверов можно, установив эти расширения на сервере A.

  1. Установите URL Rewriter через Web Platform Installer.
  2. Установите Application Request Routing (ARR), что позволит использовать сервер как реверсивный прокси.

Шаг 2: Настройка сайтов в IIS

  1. Создайте новый сайт в IIS для website A, указав www.websiteA.com в качестве hostname.
  2. Создайте другой сайт для website B, указав www.websiteB.com в качестве hostname.

Шаг 3: Конфигурация URL Rewrite

  1. Выберите сайт B в IIS.
  2. В правом меню найдите URL Rewrite и откройте его.
  3. Нажмите на ссылку Add Rule(s) и выберите Reverse Proxy.
  4. Введите локальный IP-адрес сервера B (например, 192.168.1.2) для перенаправления трафика.

На этом этапе, когда пользователи будут пытаться получить доступ к www.websiteA.com, трафик будет направлен на сервер A, а когда они обращаются к www.websiteB.com, трафик будет перенаправлен на сервер B через сервер A.

Проверка работоспособности

После выполнения всех шагов проверьте доступность обоих сайтов через браузер, чтобы убедиться, что перенаправление работает как ожидалось. При вводе www.websiteA.com вы должны видеть содержимое, размещенное на сервере A, а при обращении к www.websiteB.com — содержимое сервера B.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...