Описание урока
Вы узнаете о reverse-proxy и для каких целей он предназначен. В ходе урока произведём настройку публикации серверов.

Статья 9: Reverse-proxy

Reverse-proxy или обратный прокси – тип прокси-сервера, который ретранслирует запросы клиента на сервер, расположенный во внутренней сети.

Обратный прокси служит для серверов, а не для пользователей. В случае с прямым прокси-сервером, обеспечивается анонимность пользователя, а в случае с обратным прокси, анонимность обеспечивается для внутреннего сервера. Для клиента это выглядит так, будто он обращается на сам прокси-сервер.

Цели обратного прокси

Обычно reverse-proxy применяют для следующих целей:

1. Анонимность публикуемых серверов.

2. Публикация по HTTPS. Основной веб-сайт может не поддерживать подключение по SSL/TLS. Однако, это может сделать reverse-proxy.
3. Выполнение функций балансировщика нагрузки.
Как вы могли заметить, reverse-proxy служит для публикации ресурсов в сети Интернет и похож на трансляцию порт-адреса (DNAT). Для публикации веб-ресурсов локальной сети не стоит использовать DNAT на межсетевом экране. Дело в том, что reverse-proxy работает на прикладном уровне TCP/IP в отличие от NAT (сетевой уровень), что позволяет более гибко реализовывать публикацию ресурсов. В противовес публикации с помощью правил DNAT, публикация с использованием reverse-прокси предоставляет следующие преимущества:

  • Публикация по HTTPS серверов, работающих по HTTP и наоборот.

  • Балансировка запросов на ферму веб-серверов.

  • Возможность ограничения доступа к публикуемым серверам с определенных Useragent.

  • Возможность подмены доменов и путей публикуемых серверов.

Настройка публикации серверов

Перейдем к настройке публикации серверов через reverse-proxy.

Схема тестирования функционала:
1. Необходимо создать сервер reverse-proxy: «Глобальный портал» – «Серверы reverse-прокси» – «Добавить».
Чекбокс «HTTPS до сервера» определяет, нужно ли использовать https до публикуемого сервера. В нашем случае сервера работают по http, но в результате дальнейшей настройки сайты будут доступны по https.

«Проверять SSL-сертификат» включает или отключает проверку валидности SSL-сертификата публикуемого ресурса.

«Не изменять IP-адрес источника» – оставляет ip-адрес сервера в сетевых пакетах.

2. В случаях, если требуется балансировка запросов, необходимо правило балансировки нагрузки: «Политики сети» – «Балансировка нагрузки» – «Добавить» – «Добавить балансировщик reverse-прокси».
В правиле необходимо указать созданные на предыдущем шаге сервера.
3. Создать правило reverse-прокси: «Глобальный портал» – «Правила reverse-прокси» – «Добавить».
Сервер reverse-прокси – выбирается сервер или балансировщик, куда будут перенаправляться запросы.

Порты – порты, на которых Usergate будет слушать запросы.

Использовать HTTPS – включает поддержку HTTPS.

Профиль SSL и Сертификат – необходимо для веб-доступа.

Авторизовать по сертификату – будет требовать предъявить пользовательский сертификат. Для этого его необходимо создать и добавить на шлюз.
Во вкладке «Источник» указывается зона источника трафика. В данном случае – «Untrusted».

Во вкладке «Назначение» можно указать доступный внешний интерфейс Usergate.

Вкладка «Useragent» позволяет разрешить подключение только с определенных браузеров.
Во вкладке «Подмена пути» указывают исходные и измененные адреса публикуемых ресурсов.

«Изменить с» – путь, который пользователю будут вводить.

«Изменить на» – путь к ресурсу в локальной сети.

4. Разрешить сервис «Reverse-прокси» на зоне, с которой будут подключаться к ресурсам.

В результате пользователи из сети Интернет, обращаясь по внешнему адресу шлюза, будут перенаправляться на опубликованные веб-сервера.
Автор статьи: Дмитрий Лебедев, инженер TS Solution.