Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вон Йо
Этот раздел документа относится к маршрутизации запросов приложений Майкрософт версии 2 для IIS 7 и выше.
Цель
Чтобы успешно настроить дочерний или пограничный узел кэша и родительский узел кэша в 2-уровневом развертывании иерархии кэша в среде доставки содержимого или пограничной сети кэширования (CDN/ECN). Основное внимание в этом пошаговом руководстве заключается в том, чтобы понять правила перезаписи URL-адресов на узле дочернего или пограничного кэша и на родительском узле кэша. В конечном счете, в этом пошаговом руководстве описаны пошаговые инструкции по настройке следующей конфигурации:
Ниже приведены некоторые из основных аспектов этой конфигурации.
Поиск источника выполняется дочерним или пограничным узлом кэша.
- Список клиентов (то есть список допустимых источниковых серверов) управляется в явном виде с помощью карты перезаписи в переписывании URL.
- Имена узлов, которые не найдены в карте перенаправлений, блокируются.
Родительский узел кэша в основном настроен как прямой прокси.
SAN настроена для совместного использования узлами дочернего/граничного кэша.
Фактически существует 3 уровня кэша:
- Дочерний или пограничный узел кэша.
- САН.
- Родительский узел кэша.
Необходимые условия
В этом пошаговом руководстве предполагается, что вы знакомы с конфигурациями управления иерархией дисков и кэша в ARR версии 2. Если это еще не сделано, настоятельно рекомендуется ознакомиться со следующими пошаговыми руководствами перед продолжением.
- Настройка и включение кэша дисков в маршрутизации запросов приложений
- Управление иерархией кэша с помощью маршрутизации запросов приложений
Если маршрутизация запросов приложений версии 2 не установлена, ее можно скачать по адресу:
- Маршрутизация запросов приложений Майкрософт версии 2 для IIS 7 (x86) здесь (
https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE). - Маршрутизация запросов приложений Майкрософт версии 2 для IIS 7 (x64) здесь (
https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE).
Выполните действия, описанные в статье "Установка маршрутизации запросов приложений 2 ", чтобы установить ARR версии 2.
Настройка дочернего или периферийного узла кэша
Шаг 1. Настройка кэша дисков
Настройте и включите кэш дисков, следуя статье "Установка маршрутизации запросов приложений" версии 2 . В этой статье также описывается, как настроить SAN для использования в качестве расположения дополнительного диска кэша.
Шаг 2. Определение фермы серверов для родительских узлов кэша
Определите ферму серверов и добавьте родительские узлы кэша, следуя инструкциям в статье "Управление иерархией кэша с помощью маршрутизации запросов приложений ".
Шаг 3. Создание дополнительных правил перезаписи URL-адресов для дочернего или пограничного узла кэша
На этом этапе в качестве имени фермы серверов используется myParentCacheNodes , следующее правило перезаписи URL-адресов было записано в файле applicationHost.config, расположенном по адресу %windir%\system32\inetsrv\config\:
<rewrite>
<globalRules>
<rule name="ARR_myParentCacheNodes_loadbalance" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<action type="Rewrite" url="http://myParentCacheNodes/{R:0}" />
</rule>
</globalRules>
</rewrite>
Приведенное выше правило недостаточно для развертывания CDN/ECN, так как узлы кэша многоуровневы, а следующий уровень узлов кэша (то есть родительские узлы кэша) не будет знать, как найти серверы-источники, когда на родительском уровне кэша отсутствует кэш.
В этом пошаговом руководстве проблема решается тем, что дочерний узел кэша сопоставляет с исходным сервером перед перенаправлением запроса на родительский узел кэша. Существует два наиболее распространенных способа сопоставлять серверы-источники на основе URL-адреса, который получает дочерний узел кэша:
- Клиент CDN/ECN обозначается как поддомен. В этом случае может быть много привязок имени узла к одному IP-адресу дочернего узла кэша.
Например,http://customer1.mycnd.net/,http://customer2.mycdn.net/, и т. д. - Клиент CDN/ECN указывается в качестве первого пути в URL-адресе.
Например,http://static.mycdn.net/customer1/,http://static.mycdn.net/customer2/, и т. д.
В этом пошаговом руководстве первый пример используется для демонстрации. Аналогичные правила также можно записать, чтобы включить второй сценарий.
Определите карты перезаписи URL-адресов, которые можно использовать для поиска имени узла исходного сервера. Запустите диспетчер IIS.
Выберите и разверните корень сервера. Это дочерний (пограничный) узел кэша.
Дважды щелкните Переписывание URL.
В области "Действия" нажмите кнопку "Просмотреть карты перезаписи".
В области "Действия" нажмите кнопку "Добавить карту перезаписи".
В диалоговом окне "Добавление карты перезаписи " назовите карту перезаписи OriginServers.
На карте перезаписи вы явным образом определите сопоставление между именем узла, которое получает дочерний узел кэша, и соответствующими именами узлов источника. В области "Действия" нажмите кнопку "Добавить запись сопоставления...".
В диалоговом окне "Добавление записи сопоставления " добавьте имя узла, которое получает дочерний узел кэша и имя узла источника. В приведенном ниже примере узел дочернего кэша ARR получает customer1.mycdn.net в качестве заголовка имени узла. Соответствующий сервер-источник images.customer1.com.
Повторите шаг 8 столько раз, сколько необходимо, чтобы включить всех клиентов, которым ваш CDN/ECN предоставляет услуги. Таким образом вы можете управлять явным списком клиентов, чтобы убедиться, что ваша служба предоставляется только вашим клиентам.
Чтобы заблокировать клиентов, которые не находятся в списке карты преобразования, задайте значение по умолчанию для этой карты на #, что является незаконным символом, который не может использоваться в части заголовка имени хоста согласно RFC. В области "Действия" нажмите кнопку "Изменить параметры карты"....
В диалоговом окне Изменить карту перезаписи введите # как значение по умолчанию для этой карты перезаписи.
Переопределите заголовок имени узла с помощью правил, настроенных на карте перезаписи OriginServers. Если кэш отсутствует и запрос направляется на родительский узел кэша, запрос будет иметь имя узла, соответствующее исходному серверу. Поэтому, по большей части, родительский узел кэша настраивается как прокси-сервер для пересылки. Если на узле родительского кэша отсутствует кэш, запрос просто направляется на сервер-источник на основе заголовка имени узла, который получает родительский узел кэша.
В пользовательском интерфейсе перезаписи URL-адреса найдите правило. В этом пошаговом руководстве имя правила должно быть ARR_myParentCacheNodes_loadbalance.
Выберите правило и в области "Действия " нажмите кнопку "Изменить".
Нажмите кнопку "Добавить условия" , чтобы добавить два правила.
Первое правило будет использовать карту перезаписи OriginServers , созданную на шаге 6. Следующее правило будет соответствовать заголовку хоста как ключу для соответствия записям в OriginServers:
Второе правило установит значение по умолчанию как #, когда заголовок узла не соответствует записям в OriginServers. Как отмечалось выше, # недопустимый символ и не может использоваться в качестве имени узла. Следующее правило используется позже для обеспечения того, чтобы только клиенты (представленные именами узлов) в OriginServers обслуживались ARR:
Выберите Отслеживать группы захвата в разных условиях.
Чтобы задать значения HTTP_HOST в соответствии с указанными выше условиями, щелкните "Переменные сервера".
Введите следующие значения, чтобы сбросить HTTP_HOST:
Нажмите кнопку OK, чтобы сохранить изменения.
В области "Действия" нажмите кнопку "Применить ", чтобы сохранить изменения.
Чтобы убедиться, что были написаны правильные правила, откройте файл applicationHost.config с помощью Блокнота. Файл конфигурации находится в
%windir%\system32\inetsrv\config\.Найдите правило перезаписи URL-адресов для фермы серверов myParentCacheNodes. Это должно выглядеть примерно так:
<rewrite> <globalRules> <rule name="ARR_myParentCacheNodes_loadbalance" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions trackAllCaptures="true"> <add input="{OrigServers:{HTTP_HOST}}" pattern="*" /> <add input="{C:1}" negate="true" pattern="#" /> </conditions> <serverVariables> <set name="HTTP_HOST" value="{C:1}" replace="true" /> </serverVariables> <action type="Rewrite" url="http://myParentCacheNodes/{R:0}" /> </rule> </globalRules> </rewrite>Настоятельно рекомендуется. Чтобы заблокировать запросы, которые не соответствуют именам узлов, определенным в приведенной выше карте перезаписи, создайте правило перезаписи URL-адресов по умолчанию, которое отправляет ответ на 400 таких запросов.
Запустите диспетчер IIS.
Выберите и разверните корень сервера. Это дочерний (пограничный) узел кэша.
Дважды щелкните URL-адрес Переопределение.
В области "Действия" нажмите кнопку "Добавить правила".
В диалоговом окне "Добавление правил" выберите пустое правило.
Введите следующие значения и сохраните правило:
Имя: Не мой клиент
Используя: Подстановочные знаки
Узор: *
Тип действия: Пользовательский ответ
Код состояния: 400
Код подстатуса: 0
Порядок правил важен. Правила перезаписи URL-адресов обрабатываются сверху вниз. В этом примере, если имя входящего узла соответствует одному из имен узлов, указанных в приведенной выше карте перезаписи, выполняется первое правило , ARR_myParentCacheNodes_Loadbalance. Если имя входящего узла не соответствует ни одному из имен узлов, определенных в приведенной выше карте перезаписи, выполняется второе правило, Не мой клиент.
Конфигурация узла дочернего или пограничного кэша завершена.
Чтобы упростить настройку дополнительных дочерних узлов кэша, можно использовать общую конфигурацию, чтобы управлять конфигурацией дочернего узла кэша можно только одним местом. В противном случае указанные выше изменения конфигурации необходимо вносить отдельно на всех дочерних узлах кэша в среде CDN/ECN. Дополнительные сведения о общей конфигурации см. в статье "Общая конфигурация".
Настройка узла родительского кэша
Существует два способа настройки ARR в качестве родительского узла кэша:
- Настройте ARR в качестве прокси-сервера пересылки.
- Настройте ARR как обратный прокси-сервер, используя карту перезаписи.
Даже при использовании второго из указанных выше вариантов, перезапись просто заменяет входящее имя узла тем же значением, фактически делая его прямым прокси-сервером. Карта перезаписи используется для явной настройки списка имен узлов, которые будет принимать родительский кэш, аналогично настройке дочернего узла кэша выше. Во второй части этого пошагового процесса кэш-узел родителя будет настроен с помощью первого варианта в качестве простого прямого прокси-сервера.
Шаг 1. Настройка кэша дисков
Настройте и включите кэш дисков, выполнив инструкции по настройке и включению кэша дисков в статье маршрутизации запросов приложений .
Шаг 2. Настройка ARR в качестве прокси-сервера пересылки
Включите ARR в качестве прокси-сервера. Запустите диспетчер IIS.
Эта конфигурация не включает фермы серверов. Все параметры выполняются на уровне сервера.
Дважды щелкните кэш маршрутизации запросов приложений.
В области "Действия" щелкните "Параметры прокси-сервера".
Установите флажок "Включить прокси-сервер " и нажмите кнопку "Применить". Вы только что включили ARR в качестве прокси-сервера на уровне сервера.
Чтобы превратить ARR в прямой прокси-сервер, щелкните узел сервера в области навигации.
Дважды щелкните Переписывание URL.
В области действий нажмите кнопку "Добавить правила...".
В диалоговом окне "Добавление правил" выберите пустое правило.
Введите следующие значения и сохраните правило:
Имя: Перенаправление прокси-сервера
Используя: Подстановочные знаки
Узор: *
Условия:
Входные данные: {HTTP_HOST}
Тип: Соответствует шаблону
Узор: *
Тип действия: Переписать
Перезапись URL-адреса: http://{C:1}/{R:0}
Конфигурация родительского узла кэша завершена.
Чтобы упростить настройку дополнительных узлов родительского кэша, можно использовать общую конфигурацию, чтобы управлять конфигурацией родительского узла кэша можно только одним местом. В противном случае указанные выше изменения конфигурации необходимо вносить отдельно на всех родительских узлах кэша в среде CDN/ECN. Дополнительные сведения о общей конфигурации см. в следующей статье .
Сводка
Теперь вы успешно настроили узлы дочернего кэша и родительские узлы кэша в 2-многоуровневой среде CDN/ECN с помощью расширенных правил перезаписи URL-адресов. Чтобы проверить функциональные возможности, можно выполнить шаг 4 и шаг 5 в статье "Настройка и включение кэша дисков" в статье "Маршрутизация запросов приложений ". Если возникают ошибки, включите правила трассировки неудачных запросов, выполнив действия, описанные в статье "Использование правил трассировки неудачных запросов для устранения неполадок маршрутизации запросов приложений ".
Другие пошаговые руководства по ARR версии 2 см. в документах, приведенных в статье " Обзор маршрутизации запросов приложений версии 2 ".