Управление пилотными программами с помощью маршрутизации запросов приложений

Команда IIS

Обзор

В этом разделе приводятся инструкции по запуску пилотных или бета-программ и управлению ими с помощью маршрутизации запросов приложений. Маршрутизация запросов приложений может использоваться для назначения и маршрутизации соответствующих пользователей на пилотный сайт или также может использоваться для ограничения объема трафика, который направляется на пилотный сайт. В этом пошаговом руководстве основное внимание уделяется использованию маршрутизации запросов приложений для маршрутизации конкретных запросов на пилотный сайт на основе профиля пользователя.

Цель

Настройка маршрутизации запросов приложений для управления и устранения рисков при запуске пилотной программы.

Необходимые условия

В этом пошаговом руководстве требуются следующие предварительные требования:

  • IIS 7.0 или более поздней версии на платформе Windows 2008 (любой номер SKU) или новее.
  • Модули маршрутизации запросов приложений Майкрософт версии 1 и зависимые модули.
  • Не менее четырех серверов содержимого с рабочими сайтами и приложениями. Два сервера будут использоваться для имитации рабочего сайта, а остальные два сервера имитируют пилотный сайт.
  • Альтернативный браузер в Microsoft Internet Explorer, например Firefox, на компьютере с установленным .NET 3.5. (Эта настройка используется только для тестирования.)

Выполните действия, описанные в этом документе, чтобы установить маршрутизацию запросов приложений.

Еще одним предварительным условием является определение и настройка двух ферм серверов, описанных в разделе "Определение и настройка группы серверов маршрутизации запросов приложений (ARR). Одна ферма серверов будет представлять рабочую среду, а другая будет представлять пилотную среду.

Шаг 1. Изменение правил перезаписи URL-адресов для маршрутизации запросов на основе профиля пользователя

На этом шаге правила перезаписи URL-адресов изменяются так, чтобы только пользователи, которые установили .NET 3.5 и использовали Microsoft Internet Explorer (IE), направляются на пилотный сайт, определенный как pilotSiteServers. Все остальные направляются на рабочий сайт, определенный как productionSiteServers.

Чтобы изменить правила перезаписи URL-адресов с помощью пользовательского интерфейса:

  1. Запустите диспетчер IIS.

  2. Выберите ферму серверов, pilotSiteServers.

  3. Показаны следующие значки:

    Снимок экрана: значки на панели фермы серверов.

  4. Дважды щелкните правила маршрутизации.

  5. Так как этот сценарий включает несколько ферм серверов с условным сопоставлением заголовков HTTP-запросов, изменения вносятся с помощью пользовательского интерфейса перезаписи URL-адресов, предоставляющего дополнительные параметры. Щелкните "Перезаписать URL-адрес" в разделе "Расширенная маршрутизация".

    Скриншот настройки U R L Rewrite в разделе

  6. Обратите внимание, что два правила уже созданы, но их необходимо изменить.

    Снимок экрана: панель перезаписи U R L с предустановленными правилами по умолчанию.

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

  8. Выберите ARR_pilotSite_Servers_loadbalance и нажмите кнопку "Изменить" в области "Действия ".

    Снимок экрана панели «Правка правила» для серверов пилотного сайта ARR с балансировкой нагрузки и выбранными настройками по умолчанию.

  9. Клиенты с браузером IE и .NET 3.5 должны быть направлены в ферму серверов pilotSiteServers. Для этого добавьте условия. Нажмите Добавить условия, а затем Добавить....

    Снимок экрана: пустое диалоговое окно

  10. Введите {HTTP_USER_AGENT} в качестве условия и *MSIE* в качестве шаблона. Это условие проверяет, использует ли клиент IE.

    Снимок экрана: ввод условия в виде фигурной скобки {H T T P_ USER_ AGENT} и шаблон в виде символа *M I S E*.

  11. Добавьте другое условие для проверки версии .NET. Нажмите кнопку Add..., а затем введите {HTTP_USER_AGENT} в качестве входных данных условия и *.NET CLR 3.5* в качестве шаблона.

    Снимок экрана: другое условие со звездочкой dot NET space C L R пробел 3 dot 5 звездочка.

  12. Наконец, снимите флажок "Остановить обработку последующих правил " и нажмите кнопку "Применить ", чтобы сохранить изменения.

    Снимок экрана с неактивированной опцией «Остановить обработку последующих правил» после раздела свойств действия.

Как отмечалось выше, порядок правил имеет значение. Это происходит потому, что процесс переписывания URL обрабатывает правила по очереди, когда параметр Остановить обработку последующих правил не выбран. Поэтому в этом случае первое правило , ARR_pilotSiteServers_loadbalance, будет считаться первым. Это правило определяет, использует ли клиент Internet Explorer и установлен ли .NET 3.5. В этом случае запросы пересылаются в ферму серверов pilotSiteServers . Так как флажок "Остановить обработку последующих правил " снят, он обработает второе правило , ARR_productionSiteServers_loadbalance, которое перенаправит все остальные запросы на ферму серверов ProductionSiteServers .

Чтобы изменить правила перезаписи URL-адресов с помощью командной строки:

  1. Откройте командную строку с правами администратора .

  2. Перейдите по адресу %windir%\system32\inetsrv.

  3. Чтобы изменить правило ARR_pilotSiteServers_loadbalance , чтобы проверить наличие IE и .NET 3.5 в HTTP_USER_AGENT, введите следующее:

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
    
    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost
    
  4. Чтобы отменить обработку последующих правил для ARR_pilotSiteServers_loadbalance, введите следующее:

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False"  /commit:apphost
    

Сводка

Теперь вы успешно изменили правила перезаписи URL-адресов и использовали маршрутизацию запросов приложений для маршрутизации только подмножества пользователей на пилотный сайт. Дополнительные свойства и возможности маршрутизации запросов приложений см. в других пошаговом руководстве по маршрутизации запросов приложений.