11.4. Публикация ресурсов с использованием reverse-прокси

image195

Необходимо выполнить настройку UserGate для публикации веб-сервера для сети 172.30.160.0/30, подключённой к UserGate через port1 с адресом 172.30.160.2. Веб-сервер находится в локальной сети (192.168.14.0/24), подключённой к UserGate через port0 с адресом 192.168.14.27; IP-адрес публикуемого сервера: 192.168.14.209; домен - itme.local.

  1. В разделе Сеть --> Зоны создайте зону, с которой будет разрешён доступ к публикуемому ресурсу, например, ISP-1. Во вкладке Контроль доступа разрешите сервис Reverse-прокси.

image196

  1. Перейдите в раздел Сеть --> Интерфейсы, выберите интерфейс port1 и назначьте ему зону, созданную на шаге 1 (в данном примере: зону ISP-1).

image197

  1. Создайте сервер reverse-прокси. Для этого перейдите в раздел Глобальный портал --> Серверы reverse-прокси веб-интерфейса UserGate и нажмите Добавить. В настройках сервера укажите:

    • Название сервера.

    • Описание (опционально).

    • Адрес сервера - 192.168.14.209.

    • Порт: 80 (при использовании HTTP) или 443 (при использовании HTTPS).

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

    • Отметьте чекбокс Проверять SSL-сертификат, при необходимости проверки сертификата сервера.

    • Отметьте чекбокс Не изменять IP-адрес источника, если на веб-сервере необходимо видеть реальные IP-адреса, с которых происходит подключение.

Был создан сервер reverse-прокси со следующими настройками:

image198

  1. Создайте правило reverse-прокси. Чтобы создать правило, перейдите в раздел Глобальный портал --> Правила reverse-прокси веб-интерфейса UserGate и нажмите Добавить. Далее необходимо настроить правило reverse-прокси. Во вкладке Общие:

    • Отметьте чекбокс Включено.

    • Название правила.

    • Описание (опционально).

    • Сервер reverse-прокси, созданный на шаге 3.

    • Порты: 80 (при использовании HTTP) или 443 (при использовании HTTPS).

    • Отметьте чекбокс Использовать HTTPS, если необходимо использовать HTTPS-соединение.

При использовании соединения по протоколу необходимо указать:

  • Профиль SSL, определяющий протоколы SSL, алгоритмы шифрования и цифровой подписи. Создание и настройка профилей SSL доступны в разделе Библиотеки --> Профили SSL.

  • Сертификат, используемый для поддержки HTTPS-соединения.

Также в правилах reverse-прокси доступна настройка авторизации по сертификату.

image199

В данном примере используется HTTPS-соединение, для которого необходимо наличие сертификата. Сертификат itme.local был сгенерирован и загружен в UserGate в разделе UserGate --> Сертификаты. Сертификату была назначена роль: Правила reverse-прокси.

Во вкладке Источник укажите зону или адреса, с которых необходимо разрешить доступ к публикуемым ресурсам (в примере необходимо разрешить доступ из зоны ISP-1):

image200

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

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

Во вкладке Подмена путей в поле Изменить с укажите домен или путь URL, которые требуется изменить; в поле Изменить на укажите домен или путь URL, на которые требуется изменить.

Для примера был использован вариант - без подмены путей:

image201

Проверка. На пользовательских компьютерах должно резолвиться доменное имя сервера. Выполните обращение к серверу с использованием утилиты cURL:

ruser@ubuntu:~$ curl -k -I https://itme.local
HTTP/1.1 200 OK
X-Tracking-Ref: <0.8355.5>
X-Execution-Time: 489418
Connection: keep-alive
Keep-Alive: timeout=3, max=5
Date: Fri, 01 Apr 2022 06:40:51 GMT
Server: Apache/2.4.29 (Ubuntu)
Keep-Alive: timeout=5, max=100
Content-Type: text/html; charset=UTF-8
Access-Control-Allow-Origin: *
Transfer-Encoding: chunked