Настройка L7-прокси сервера через балансировщик нагрузки

В PS Cloud Services реализован механизм управления трафиком на уровне приложений (L7 — седьмой уровень модели OSI). Он позволяет использовать балансировщик нагрузки как L7-прокси (Application Layer Proxy) для более гибкой маршрутизации HTTP-запросов по заголовкам, путям и другим параметрам.

Настроить L7-прокси можно через консоль управления PS Cloud Services или панель Horizon.

Что такое L7-прокси

L7-прокси (Application Layer Proxy) — это прокси-сервер на уровне приложений, который позволяет:

  • направлять разные запросы на разные серверы в зависимости от условий;
  • блокировать или отклонять определенные запросы;
  • настраивать маршрутизацию по URL, заголовкам, cookies и другим параметрам.

Как работает L7-прокси

Настройка выполняется в два этапа:

  1. Создается L7-политика — действие, которое будет применено при выполнении заданных условий. Например, запрос можно отклонить или переадресовать.
  2. В политику добавляются L7-правила — условия, при которых политика активируется. Например, путь запроса начинается с /admin.

Настройка L7-прокси

  1. Войдите в консоль управления PS Cloud Services.

  2. Откройте нужный проект и в меню с тремя точками перейдите в раздел Сервис → Балансировщики нагрузки.

  3. Нажмите на карточку нужного балансировщика нагрузки.

  4. Перейдите на вкладку Обработчики и выберите существующий или создайте новый обработчик типа HTTP или TERMINATED_HTTPS.

  5. Перейдите на вкладку L7-политики и нажмите Создать политику.

  6. Укажите параметры политики:

    • Имя — название политики;
    • Действие — выберите действие: REJECT, REDIRECT_TO_POOL или REDIRECT_TO_URL;
    • Позиция — укажите порядок применения политики.
  7. Нажмите Создать.

  8. Перейдите на вкладку L7-правила и нажмите Добавить правило.

  9. Выберите созданную L7-политику и настройте условие:

    • Тип условия — например, COOKIE, FILE_TYPE, HEADER, HOST_NAME или PATH;
    • Ключ — укажите имя cookie или заголовка для условий COOKIE и HEADER;
    • Тип сравнения — например, STARTS_WITH, EQUAL_TO или REGEX;
    • Значение — значение, с которым будет сравниваться запрос, например /admin;
    • Инвертировать — включите при необходимости инвертировать условие.
  10. Нажмите Создать.

  1. Перейдите в панель управления Horizon.

  2. Откройте раздел Network → Load Balancers (Сеть → Балансировщики нагрузки) и выберите нужный балансировщик.

  3. Перейдите на вкладку Listeners (Обработчики) и выберите нужный обработчик.

  4. Перейдите в раздел L7 Policies (Политики уровня приложений) и нажмите Create L7 Policy (Создать L7-политику).

  5. Укажите параметры политики:

    • Name — название политики;
    • Action — действие, например Redirect или Reject;
    • Position — порядок применения политики;
    • Admin State Up — включите или выключите политику.
  6. Сохраните изменения.

  7. Нажмите Create L7 Rule (Создать L7-правило).

  8. Укажите параметры правила:

    • Type — например, PATH, HEADER или COOKIE;
    • Compare Type — например, EQUAL_TO, STARTS_WITH или REGEX;
    • Value — значение для сравнения;
    • Invert — включите при необходимости инвертировать условие.
  9. Сохраните изменения.

Пример настройки

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

  • Тип: PATH;
  • Тип сравнения: REGEX;
  • Значение: ^/admin.*;
  • Действие политики: REJECT.

Результат

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

С помощью L7-политик можно:

  • отклонять или переадресовывать запросы;
  • настраивать маршрутизацию трафика на уровне приложений;
  • ограничивать доступ к отдельным разделам, например /admin;
  • распределять запросы между пулами в зависимости от заданных условий.

Рекомендации

  • Используйте L7-политики для разграничения доступа и повышения безопасности.
  • Проверяйте настройки политик и правил при изменении архитектуры сервиса.
  • Комбинируйте несколько правил и политик для реализации сложных сценариев маршрутизации.

При возникновении вопросов обратитесь в техническую поддержку или отправьте письмо на support@ps.kz PS Cloud Services.

question
Не нашли подходящего ответа?
Напишите запрос в службу поддержки
Написать сейчас
  1. Main