Пересылка HTTP/HTTPS-трафика на основе URL

Я ищу решение для пересылки трафика http/https на серверный веб-сервер на основе URL-адреса запроса. Наши текущие настройки:

  • Webserver1 (Sharepoint)
  • Webserver2 (службы отчетов)

Оба работают под управлением Windows Server 2008 и IIS7. Webserver1 получает весь трафик через порты 80 и 443 и размещает веб-сайт www.example.com.

Теперь я хочу, чтобы Webserver2 был доступен как www.example.com/Reports. К сожалению, у нас нет продвинутого пограничного межсетевого экрана, который мог бы маршрутизировать трафик на основе URL-адреса запроса. Поэтому мне интересно, есть ли способ настроить Webserver1 для пересылки всего трафика, если он соответствует www.example.com/Reports. Любой способ, которым IIS7 мог сделать это?

Предложения приветствуются..

3 ответа

Решение

В IIS7 есть модуль перезаписи URL-адресов, который вместе с модулем маршрутизации запросов приложений, основанный на URL-адресе, может использоваться для выполнения ваших задач.

Вы создаете все это в пользовательском интерфейсе, а затем он автоматически создает XML и помещает его в файл web.config для вас.

Смотрите "Обратный прокси" (номер 7) в этом списке.

Возможно, вы сможете перенаправить URL-адрес на другой номер порта.

Поэтому настройте www.example.com/Reports в качестве виртуального каталога на веб-сервере 1, но перенаправьте его URL-адрес на www.example.com:444/Reports. Возможно, вам придется изменить доменное имя, на которое оно перенаправляется.

Мне будет интересно посмотреть, как это работает, и если я пропустил какие-либо шаги.

Я думаю, что ваша проблема похожа на ту, что была у меня: пересылка hostheaders

В итоге я заплатил за фильтр "ISAPI_Rewrite", ведь я уверен, что могу делать то, что вы хотите.

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

Другие вопросы по тегам