Пользовательское перенаправление HTTP-хоста на IP на сервере терминалов Windows
Я только что установил Windows 2008 R2 Terminal Server с IE9, он предназначен для тестирования. К сожалению, веб-органы говорят мне, что у них ВСЕ есть локальный apache на своих машинах, и они все отредактировали свой файл hosts с большим количеством записей, указывающих на 127.0.0.1 (loopback).
Это прекрасно работает на их собственных компьютерах, чтобы указать им на их собственный Apache, чтобы увидеть их результаты, как они развивают на своих машинах с Windows XP.
Конечно, когда они входят в систему на сервере терминалов, они не смогут получить к ним доступ, файл hosts основан на компьютере, и на сервере терминалов могут одновременно находиться несколько пользователей.
Я пытался придумать, как при входе пользователя A на сервер терминалов загружается набор уникальных для него правил (в файле или в месте, которые они могут редактировать), и когда они вводят test.site1.com, будет указывать на IP-адрес своего компьютера 192.168.1.1 и типы пользователей B test.site1.com, он будет указывать на IP-адрес компьютера пользователя B 192.168.1.2, в то время как оба пользователя будут одновременно подключены к серверу терминалов (скажем, 192.168.1.10).
В идеале не нужно вносить слишком много изменений в свои локальные апачи (кроме того, чтобы убедиться, что они прослушивают свой фактический IP-адрес локальной сети, а не только 127.0.0.1, конечно).
Файл Hosts находится вне того, что я могу сказать... есть ли умная прокси-программа, которая может сделать это? Один я мог бы установить на самом терминальном сервере, который будет принимать пользовательские файлы конфигурации? Или DNS, как предлагается ниже, отличная идея, опять же, единственная проблема заключается в предоставлении разных IP-адресов для одного и того же имени хоста соответствующему пользователю.
test.site1.com 192.168.1.1 для пользователя A test.site1.com 192.168.1.1 для пользователя B
В это время и пользователь A, и пользователь B подключены к одному и тому же терминальному серверу.
3 ответа
Оказывается, мне нужен обратный прокси-сервер, у меня есть сервер TMG, поэтому я создал несколько правил:
Правило публикации веб-сайта HTTP Настройте прослушивание внутреннего веб-прослушивателя на внутреннем интерфейсе с HTTP-аутентификацией с использованием Digest и Integrated. Действие Разрешить из любого места на локальный хост (только заполнитель) Имя компьютера или IP-адрес (требуется, если имя внутреннего сайта отличается или не может быть разрешено): установите флажок "Пересылать исходный заголовок узла вместо фактического (указанного в поле имени внутреннего сайта)) Публичное имя (введите все тестовые доменные имена, которые находятся на компьютере этого Web-разработчика). Пути /* будут выполнять или настраиваться по мере необходимости. Делегирование аутентификации: нет делегата, но клиент может выполнять аутентификацию напрямую. Пользователи создают пользователя, указывая учетную запись пользователя Windows для веб-разработчик этой машины.
Скопируйте и вставьте, изменив пользователя, и исправьте IP-адрес, чтобы он соответствовал IP-адресу компьютера разработчика.
Затем на сервере терминалов отредактируйте файл hosts и укажите все эти тестовые домены на IP-адрес сервера TMG. Убедитесь, что все эти URL-адреса также находятся в локальной группе безопасности в IE, чтобы он проходил регистрацию.
Пользователь A на сервере терминалов вводит в http://local.website-prototype.net/, сервер терминалов идет к TMG, передает свой логин, TMG просматривает правила, чтобы найти соответствующее правило для пользователя домена, а затем перенаправляет их на IP их собственной машины для их URL. Пользователь B на сервере терминалов вводит http://local.website-prototype.net/ или что-то еще, то же самое происходит, TMG выбирает правило для пользователя B и направляет его на компьютер пользователя /ip.
Работает, единственный недостаток - когда веб-разработчик хочет добавить еще один URL-адрес, его нужно добавить в файл хостов сервера терминалов и добавить в специальное правило пользователя в TMG.
Я мог бы дать им разрешение на редактирование файла hosts... они довольно сообразительны, к сожалению, не могут дать им полные права на коробку TMG... если мы не настроим отдельный TMG только для них.
В качестве альтернативы мне нужно посмотреть на создание того же конфига в чем-то другом, Squid? В идеале это то, что может позволить мне разделить конфигурацию, чтобы разработчики Web могли редактировать свои собственные маленькие кусочки.
Умная прокси-программа для преобразования имен в IP-адреса? Почему да, это называется DNS-сервер. Настройте один из них (предположительно, у вас уже есть), добавьте соответствующие записи A и вуаля!
РЕДАКТИРОВАТЬ
Вот идея, хотя, может быть, и более сложная, чем вы ожидали: использовать функцию виртуализации IP-адресов удаленного рабочего стола WDS W2K8R2 в сочетании с функцией "представлений" BIND DNS (в данном случае я думаю, что это клиенты), чтобы "представить" различные записи A для каждого разработчика, в зависимости от их VIP-сессии RDS. Обратите внимание, что я не использовал функцию IP-виртуализации удаленных рабочих столов и никогда в своей жизни даже не видел DNS-сервер BIND, но я думаю, что это может сработать для вас.
http://www.oreillynet.com/pub/a/oreilly/networking/news/views_0501.html
Почему бы вам просто не создать один файл hosts с тестовым доменом и IP-адресом каждого? Или вы можете сделать это более правильно, добавив зону в DNS.
Наконец, они могли бы просто использовать свои машины hostname?