Пересылка 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, ведь я нахожу это немного сложным.