Обратный прокси-сервер — шаблон правила
Шаблоны правил используются для простого способа создания одного или нескольких правил перезаписи для определенного сценария. Модуль 2 переопределения URL-адресов включает несколько шаблонов правил для некоторых распространенных сценариев использования. Кроме того, пользовательский интерфейс модуля переопределения URL-адресов предоставляет платформу для подключения пользовательских шаблонов правил. В этом пошаговом руководстве описано, как использовать шаблон правила "Обратный прокси-сервер", который входит в состав модуля переопределения URL-адресов. Дополнительные сведения о настройке обратного прокси-сервера с модулем переопределения URL-адресов IIS и маршрутизацией запросов приложений IIS см. в статье Обратный прокси-сервер с переопределением URL-адресов версии 2 и Маршрутизация запросов приложений.
Предварительные требования
Для этого пошагового руководства требуются следующие предварительные требования:
- IIS 7 или более поздней версии с включенной службой ASP.NET роли;
- Установленный модуль переопределения URL-адресов 2.0;
- Установлена маршрутизация запросов приложений IIS.
Создание примера веб-сайта
Для простоты сценарий обратного прокси-сервера, с которым вы будете работать в этом пошаговом руководстве, будет реализован на одном сервере, при этом "веб-сайт по умолчанию" IIS выступает в качестве сайта обратного прокси-сервера и контентного приложения, размещенного на разных веб-сайтах IIS на одном сервере.
Чтобы создать пример веб-сайта с контентом, выполните следующие действия.
Создайте папку с именем contentsite в следующей папке:
%SystemDrive%\inetpub\ folder.
Создайте веб-сайт IIS с именем contentsite, который указывает на соответствующую папку в .
%SystemDrive%\inetpub\
Используйте порт 8081 для сайта.
Для создания сайтов можно использовать следующие команды:%windir%\System32\inetsrv\appcmd.exe add site /name:"contentsite" /bindings:http/*:8081: /physicalPath:"%SystemDrive%\inetpub\contentsite
Создайте файл с именем default.aspx в следующей папке:
%SystemDrive%\inetpub\contentsite
Скопируйте следующую разметку ASP.NET, вставьте ее в файл и сохраните файл как default.aspx:
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Reverse Proxy Test Application</title> </head> <body> <h1>Reverse Proxy Test Page</h1> <p>Requested URL path is <%= Request.ServerVariables["SCRIPT_NAME"] %></p> <p><a href="http://<%= Request.ServerVariables["HTTP_HOST"] + Request.ServerVariables["SCRIPT_NAME"] %>">Here</a> is the link to this page.</p> </body> </html>
Чтобы убедиться, что сайт работает правильно, откройте веб-страницу и запросите следующие URL-адреса:
http://localhost:8081/default.aspx
Создание правил для входящего и исходящего трафика с помощью шаблона обратного прокси-сервера
Шаблон правила "Обратный прокси-сервер" можно использовать для создания правила перезаписи для входящего трафика, которое используется для прокси-запросов HTTP к другому серверу. При необходимости шаблон также может создать правило перезаписи для исходящего трафика, которое может исправлять имена узлов в URL-адресах ссылок в HTML-ответах. В примере, описанном в этом пошаговом руководстве, имя узла прокси-сервера — localhost , а имя узла сервера содержимого — localhost:8081. Веб-приложение на сервере содержимого создает ссылку в ОТВЕТе HTML, которая использует внутреннее имя узла, например http://localhost:8081/default.aspx
. Правило для исходящего трафика исправляет эту ссылку для использования имени узла прокси-сервера, например http://localhost/default.aspx
.
Чтобы создать правила с помощью шаблона правила, выполните следующие действия.
- В диспетчере IIS выберите "Веб-сайт по умолчанию" в представлении в виде дерева слева.
- Откройте представление функции переопределения URL-адресов.
- В представлении функции переопределения URL-адресов выберите "Добавить правила..." действие, а затем выберите шаблон "Обратный прокси-сервер":
- В диалоговом окне "Добавление правил обратного прокси-сервера" введите следующее:
Имя сервера или IP-адрес, по которому будут пересылаться HTTP-запросы: localhost:8081
Установите флажок "Переписать доменные имена ссылок в HTTP-ответах" проверка и введите:
Из: localhost:8081
Для: localhost
- Щелкните ОК. Будут созданы правила для входящего и исходящего трафика:
Тестирование обратного прокси-сервера
Чтобы проверить, правильно ли работают правила перезаписи, созданные шаблоном правил, откройте веб-браузер и отправьте запрос к http://localhost/default.aspx
. Iis "Веб-сайт по умолчанию" получит этот запрос и перенаправит его http://localhost:8081/default.aspx
в соответствии с правилом перезаписи для входящего трафика. Когда http-ответ возвращается с веб-сайта сайта содержимого , правило перезаписи исходящего трафика изменяет URL-адрес ссылки внутри HTML, чтобы переписать имя узла с localhost:8081 на localhost:
Итоги
В этом пошаговом руководстве вы узнали, как использовать шаблон правила обратного прокси-сервера для создания правил перезаписи для реализации простой конфигурации обратного прокси-сервера в IIS. Этот шаблон правил можно использовать в качестве отправной точки для создания базовых правил, которые можно изменить позже, чтобы удовлетворить определенные требования к маршрутизации и перезаписи, которые вы предъявляете для веб-приложения.