У меня есть несколько веб-сайтов, настроенных на одном сервере IIS 6, который отличается от Host Header.
Однако я хочу, чтобы один из сайтов обслуживался сервером Linux/Apache в моей сети. Нужно ли использовать надстройку обратного прокси-сервера для IIS или есть простой способ сообщить IIS о передаче всех запросов на другой сервер?
Для IIS 7.5, Microsoft предоставляет официальные модули для этого!
В настройках сайта вы получите значок "URL Rewrite".
В этом диалоговом окне вы можете ввести имя хоста + порт для пересылки. После добавления правила открытие диалогового окна редактирования предлагает больше настроек.
Для этой цели я использую стороннее программное обеспечение для Windows (IIS), которое, помимо других вещей, таких как перезапись URL-адресов, выполняет эту работу довольно хорошо: ISAPI Rewrite .
ISAPI Rewrite - это мощный механизм обработки URL-адресов, основанный на регулярных выражениях. Он работает в основном как Apache mod_Rewrite, но разработан специально для Microsoft Internet Information Server (IIS). ISAPI Rewrite - это фильтр ISAPI, написанный на чистом C/C++, поэтому он очень быстрый. ISAPI_Rewrite дает вам свободу выйти за рамки стандартных схем URL и разработать собственную схему.
Поиск "Прокси". Вот документация для правила RewriteProxy .
Существует также очень похожий проект с открытым исходным кодом: Iap's Isapi Rewrite Filter .
Нет, не на IIS 6. Посмотрите на использование nginx/ubuntu (или даже nginx на Windows) в качестве обратного прокси-сервера перед вашим сервером IIS6. Нам пришлось использовать IIS7.5 для обратного прокси-сервера функции