Поделиться через


Обратный прокси-сервер — шаблон правила

Руслан Якушев

Шаблоны правил используются для простого способа создания одного или нескольких правил перезаписи для определенного сценария. Модуль 2 переопределения URL-адресов включает несколько шаблонов правил для некоторых распространенных сценариев использования. Кроме того, пользовательский интерфейс модуля переопределения URL-адресов предоставляет платформу для подключения пользовательских шаблонов правил. В этом пошаговом руководстве описано, как использовать шаблон правила "Обратный прокси-сервер", который входит в состав модуля переопределения URL-адресов. Дополнительные сведения о настройке обратного прокси-сервера с модулем переопределения URL-адресов IIS и маршрутизацией запросов приложений IIS см. в статье Обратный прокси-сервер с переопределением URL-адресов версии 2 и Маршрутизация запросов приложений.

Предварительные требования

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

  • IIS 7 или более поздней версии с включенной службой ASP.NET роли;
  • Установленный модуль переопределения URL-адресов 2.0;
  • Установлена маршрутизация запросов приложений IIS.

Создание примера веб-сайта

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

Чтобы создать пример веб-сайта с контентом, выполните следующие действия.

  1. Создайте папку с именем contentsite в следующей папке:

    %SystemDrive%\inetpub\ folder.
    
  2. Создайте веб-сайт IIS с именем contentsite, который указывает на соответствующую папку в .%SystemDrive%\inetpub\ Используйте порт 8081 для сайта.
    Для создания сайтов можно использовать следующие команды:

    %windir%\System32\inetsrv\appcmd.exe add site /name:"contentsite" /bindings:http/*:8081: /physicalPath:"%SystemDrive%\inetpub\contentsite
    
  3. Создайте файл с именем default.aspx в следующей папке:

    %SystemDrive%\inetpub\contentsite
    
  4. Скопируйте следующую разметку 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>
    
  5. Чтобы убедиться, что сайт работает правильно, откройте веб-страницу и запросите следующие URL-адреса:

    http://localhost:8081/default.aspx
    

Создание правил для входящего и исходящего трафика с помощью шаблона обратного прокси-сервера

Шаблон правила "Обратный прокси-сервер" можно использовать для создания правила перезаписи для входящего трафика, которое используется для прокси-запросов HTTP к другому серверу. При необходимости шаблон также может создать правило перезаписи для исходящего трафика, которое может исправлять имена узлов в URL-адресах ссылок в HTML-ответах. В примере, описанном в этом пошаговом руководстве, имя узла прокси-сервера — localhost , а имя узла сервера содержимого — localhost:8081. Веб-приложение на сервере содержимого создает ссылку в ОТВЕТе HTML, которая использует внутреннее имя узла, например http://localhost:8081/default.aspx. Правило для исходящего трафика исправляет эту ссылку для использования имени узла прокси-сервера, например http://localhost/default.aspx.

Чтобы создать правила с помощью шаблона правила, выполните следующие действия.

  1. В диспетчере IIS выберите "Веб-сайт по умолчанию" в представлении в виде дерева слева.
  2. Откройте представление функции переопределения URL-адресов.
  3. В представлении функции переопределения URL-адресов выберите "Добавить правила..." действие, а затем выберите шаблон "Обратный прокси-сервер":
    Снимок экрана: диалоговое окно
  4. В диалоговом окне "Добавление правил обратного прокси-сервера" введите следующее:
    Имя сервера или IP-адрес, по которому будут пересылаться HTTP-запросы: localhost:8081
    Установите флажок "Переписать доменные имена ссылок в HTTP-ответах" проверка и введите:
    Из: localhost:8081
    Для: localhost
    Снимок экрана: диалоговое окно
  5. Щелкните ОК. Будут созданы правила для входящего и исходящего трафика:
    Снимок экрана: диспетчер I I SS со страницей переопределения URL-адреса.

Тестирование обратного прокси-сервера

Чтобы проверить, правильно ли работают правила перезаписи, созданные шаблоном правил, откройте веб-браузер и отправьте запрос к http://localhost/default.aspx. Iis "Веб-сайт по умолчанию" получит этот запрос и перенаправит его http://localhost:8081/default.aspx в соответствии с правилом перезаписи для входящего трафика. Когда http-ответ возвращается с веб-сайта сайта содержимого , правило перезаписи исходящего трафика изменяет URL-адрес ссылки внутри HTML, чтобы переписать имя узла с localhost:8081 на localhost:

Снимок экрана: окно браузера со страницей тестирования обратного прокси-сервера.

Итоги

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