Общие сведения о прокси-сервере TCP/TLS шлюза приложений

Помимо существующих возможностей уровня 7 (HTTP, HTTPS, WebSockets и HTTP/2), Шлюз приложений Azure теперь также поддерживает прокси-сервер уровня 4 (протокол TCP) и TLS (транспортный уровень безопасности).

Возможности проксирования TLS/TCP в Application Gateway

В качестве службы обратного прокси-сервера, операции уровня 4 в Шлюзе приложений действуют подобно операциям прокси-сервера уровня 7. Клиент устанавливает TCP-подключение с шлюзом приложений, и сам шлюз приложений инициирует новое TCP-подключение к серверу из пула внутренних серверов. На следующем рисунке показана типичная операция.

Обзор схемы работы прокси-сервера TCP/TLS.

Поток процесса:

  1. Клиент инициирует подключение TCP или TLS к шлюзу приложений с помощью IP-адреса и номера порта внешнего прослушивателя. При этом устанавливается соединение фронтенда. После установки подключения клиент отправляет запрос с помощью требуемого протокола уровня приложений.
  2. Шлюз приложений устанавливает новое соединение с одним из целевых объектов серверной части из связанного внутреннего пула (формируя серверное подключение) и отправляет запрос клиента на сервер серверной части.
  3. Ответ от серверного сервера отправляется клиенту шлюзом приложений.
  4. То же подключение TCP фронтенда используется для последующих запросов от клиента, если только время ожидания простоя TCP не закрывает это соединение.

Сравнение Azure Load Balancer с Azure Application Gateway:

Продукт Тип
Azure Load Balancer Сквозной балансировщик нагрузки, в котором клиент напрямую устанавливает соединение с сервером, выбранным алгоритмом распределения Load Balancer.
Шлюз приложений Azure Завершение подсистемы балансировки нагрузки, в которой клиент напрямую устанавливает соединение с Шлюз приложений, а отдельное подключение инициируется серверным сервером, выбранным алгоритмом распространения Шлюз приложений.

Шлюз приложений Azure (прокси-сервер TLS/TCP)

  • Тип — конечный прокси-сервер уровня 4.
  • Протоколы — поддерживает протоколы TCP или TLS.
  • Универсальность . Используйте одну конечную точку (интерфейсный IP-адрес) для обслуживания рабочих нагрузок HTTP и не HTTP.
  • Масштабирование — настройка автомасштабирования (до 125 экземпляров) для обслуживания трафика TCP и TLS.
  • Безопасность через завершение TLS — упрощение безопасности с помощью централизованного завершения TLS и управления сертификатами, обеспечивая согласованное соответствие всем приложениям, включая рабочие нагрузки, отличные от HTTP. Легко интегрируется с Azure Key Vault для безопасного управления сертификатами.
  • Типы серверной части — гибко подключайте программные приложения к серверной части в произвольном месте: в одной виртуальной сети, через одноранговые виртуальные сети, через удаленные полные доменные имена или IP-адреса, или даже с использованием гибридного подключения к вашим локальным серверам.

Azure Load Balancer (балансировщик нагрузки Azure)

  • Тип — сквозное сетевое устройство уровня 4.
  • Протоколы — поддерживает протоколы TCP или UDP.
  • Производительность — обеспечивает низкую задержку и высокую пропускную способность. Создано для миллионов одновременных подключений с задержкой на уровне микросекунда.
  • Масштабирование — обрабатывает длительные подключения и масштабирует до миллионов потоков для всех приложений TCP и UDP.
  • Входящий и исходящий – Azure Load Balancer обеспечивает полный контроль над трафиком, предлагая возможности для управления как входящими, так и исходящими потоками. Беспрепятственно подключайте внешние клиенты к вашим приложениям, позволяя экземплярам бэкенда безопасно выходить в Интернет и подключаться к другим службам.
  • Прямой возврат сервера — для возвращаемого трафика серверный экземпляр отправляет пакет ответа непосредственно обратно в IP-адрес клиента, уменьшая задержку и повышая производительность.

Функции

  • Используйте одну конечную точку (фронтенд IP-адрес) для обслуживания рабочих нагрузок HTTP и не-HTTP. Одно и то же развертывание шлюза приложений может поддерживать протоколы уровня 7 и уровня 4: HTTP(S), TCP или TLS. Все клиенты могут подключаться к одной конечной точке и получать доступ к разным внутренним приложениям.
  • Используйте личный домен для передней части любой серверной службы. Внешний интерфейс для SKU Шлюза приложений версии 2 в виде общедоступных и частных IP-адресов позволяет настроить любое пользовательское доменное имя, чтобы оно указывало на IP-адрес с помощью записи (A). Кроме того, при завершении TLS и поддержке сертификатов из частного центра сертификации (ЦС) можно обеспечить безопасное подключение в выбранном домене.
  • Используйте внутренний сервер из любого расположения (Azure или локальной среды). Подсистемы для шлюза приложений могут быть:
    • Ресурсы Azure, такие как виртуальные машины IaaS, масштабируемые наборы виртуальных машин или PaaS (Служба приложений, Центры событий, SQL)
    • Удаленные ресурсы, такие как серверы, находящиеся на месте, доступные через полное доменное имя или IP-адреса
  • Поддерживается только для частного шлюза. С поддержкой TLS и TCP-прокси для частных развертываний Шлюза приложений, вы можете поддерживать HTTP и не HTTP-клиентов в изолированной среде для повышения безопасности.

Ограничения

  • Шлюз SKU WAF версии 2 позволяет создавать прослушиватели TLS или TCP и серверы для поддержки HTTP-трафика и не-HTTP трафика, используя тот же ресурс. Однако он не проверяет трафик на прослушивателях TLS и TCP для эксплойтов и уязвимостей.
  • Значение времени ожидания по умолчанию для внутренних серверов составляет 30 секунд. В настоящее время определяемое пользователем значение очистки не поддерживается.
  • Обновление конфигурации (PUT) в шлюзе приложений завершает активные подключения после периода истечения времени ожидания операции дренирования по умолчанию.
  • Контроллер входящего трафика шлюза приложений (AGIC) не поддерживается и работает только с прокси-сервером уровня L7 при помощи прослушивателей HTTP(S).

Следующие шаги