Я использую ISA на Windows Server 2003 для публикации нескольких веб-серверов, размещенных на одном компьютере. Настройте следующим образом:
Я мог направлять запросы в зависимости от имени хоста на конкретный сервер, установив правила публикации в ISA. ISA позволила мне сохранить исходный IP-адрес клиента и запрошенное имя хоста, а также имела множество других функций, таких как проверка запросов, сопоставление URL-адресов, перезапись и кеширование.
Теперь я использую Windows Server 2008 R2, ISA здесь не работает, TMG - это огромная PITA (и даже не работает с моей настройкой IP - по умолчанию gw 10.255.255.1, маска подсети 255.255.255.255) и ISA в целом оказалась сложной задачей, когда дело касалось RPC и другого внутреннего сетевого трафика. Поэтому я ищу способ сделать то же самое, особенно когда дело доходит до сохранения исходного IP-адреса клиента. Я попробовал Faststream IQ Proxy, который выглядел многообещающим, особенно потому, что он установил собственный драйвер NDIS, и публикация сервера работала нормально, но IP-адрес клиента всегда теряется. Кандидатами могут быть делегат и кальмар. но они не устанавливают никаких драйверов сетевого уровня, поэтому им кажется невозможным сохранить исходный IP-адрес.
В настоящее время я использую IIS на внешнем IP-адресе и 127.0.0.1 и использую ARP с обратным прокси-сервером для публикации других серверов, однако он работает не слишком хорошо, и IP-адрес клиента по-прежнему теряется для прокси-серверов. Честно говоря, это дерьмо, и мне очень жаль, что IIS 7.5 до сих пор не включает жизнеспособное решение обратного прокси, как это было в ISA много лет назад.
Кто-нибудь знает программное обеспечение, которое архивирует те же эффекты публикации веб-сервера, что и в ISA, предпочтительно с приличным графическим интерфейсом (хотя я мог бы также жить с файлами конфигурации), которое обратное прокси-запросы к локальным веб-серверам без потери информации об имени хоста и исходном IP-адресе клиента ? Или я обречен на работу TMG в моей настройке?
На заметку, TMG можно установить с помощью некоторых уловок:
Установите адаптер Microsoft Loopback (hdwwiz)
Установите статический адрес в диапазоне частных IP-адресов (например, 10.0.0.1/255.0.0.0, без GW по умолчанию) для адаптера обратной связи и отключите регистрацию DNS в настройках TCP / IP для адаптера.
Установить TMG
Обновите TMG до SP1 или используйте загрузочную установку
Необязательно: перейти на DC / RODC
Необязательно: если сервером является DNS, добавьте «настоящий» адаптер как HKLM \ SYSTEM \ CurrentControlSet \ Services \ DNS \ Parameters \ PublishAddresses, чтобы частный адрес не был опубликован.
Привяжите IIS с netsh http iplisten к 127.0.0.1 и 10.0.0.1
Используйте правила публикации сервера в TMG для публикации 10.0.0.1
Зарегистрируйте дополнительные адреса на адаптере обратной связи и привяжите свои приложения к адресам (10.0.0.2, 10.0.0.3 и т. Д.), Чтобы вы также могли опубликовать их в TMG
Не так гладко, как в ISA, но работает. Обязательно установите TMG перед переходом на DC, потому что Microsoft не поддерживает установку TMG на DC.
Вероятно, вам не нужно сохранять исходный IP-адрес в фактическом заголовке TCP. Многие установки обратного прокси позволяют передавать исходный IP-адрес, с которого был сделан запрос, в качестве заголовка HTTP. (См. Например: Директива конфигурации Squid forwarded_for.)
Apache с mod_proxy также сделает свое дело, а также добавит заголовки X-Forwarded-For для трафика с обратным проксированием. Это может быть удобно, поскольку на вашем компьютере уже запущен Apache.