Перенос URI F5 iRules. Переключение на RELIANOID Сопоставление служб HTTP/S

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

Перенос URI F5 iRules. Переключение на RELIANOID Сопоставление служб HTTP/S

1 min read

Обзор #

В этой статье объясняется, как перенести правило iRule для F5 BIG-IP, которое направляет несколько URI приложений в один и тот же пул бэкэндов, в другую систему. RELIANOID с использованием встроенных служб сопоставления HTTP/S и шаблонов URI на основе регулярных выражений (regex).

Исходное правило iRule оценивает входящий URI и направляет трафик, соответствующий нескольким путям приложения, в один и тот же пул бэкэнда.

Оригинальное правило F5 iRule #

when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/firstapp*" { pool "MY_POOL" } "/secondapp*" { pool "MY_POOL" } "/thirdapp" { pool "MY_POOL" } } }

Цель миграции #

Цель данной конфигурации:

  • Сопоставление нескольких путей приложения
  • Направляйте весь соответствующий трафик в один и тот же пул бэкэндов.
  • Упростите логику маршрутизации приложений.

RELIANOID Миграционный подход #

In RELIANOIDЭтого можно добиться без использования скриптов, применив следующие методы:

  • Один единственный HTTP/S-сервис
  • сопоставление шаблонов URI
  • Регулярные выражения (regex)
  • Общая конфигурация бэкэнда

Этот подход проще, понятнее и легче в обслуживании, чем использование множества условных iRules.

RELIANOID Конфигурация #

Перейдите в Фермы > Ферма HTTP/S > Сервисы и Создавай Новая услуга.

Конфигурация сопоставления URI #

В шаблоне URL используйте регулярное выражение:

^/(первое приложение|второе приложение|третье приложение)

Конфигурация бэкэндов #

Добавьте конфигурацию списка бэкэнда в сервис.

Почему рекомендуется именно этот подход #

Использование единого сервиса на основе регулярных выражений обеспечивает:

  • Более чистая конфигурация
  • Более легкое обслуживание
  • Сокращение количества обслуживаемых услуг
  • Лучшая масштабируемость
  • Упрощенное устранение неполадок

Вместо управления множеством условий iRule, логика URI централизована в одном правиле соответствия.

Проверка #

Тестирование с помощью CURL. Пример:

локон -k https://example.com/firstapp -v

Или:

локон -k https://example.com/ Secondapp/api/test -v

Ожидаемый результат:

  • Запрос перенаправляется в настроенный пул бэкэндов.
  • Приложение работает в обычном режиме.

УСТРАНЕНИЕ НЕПОЛАДОК #

Запросы не соответствуют #

Убедитесь, что:

  • Режим регулярных выражений включен.
  • Шаблон URI правильный.
  • Нет скрытых пробелов или некорректного синтаксиса регулярных выражений.

Работают только некоторые приложения. #

Проверьте:

  • Регулярное выражение включает все необходимые названия приложений.
  • Поведение при написании символов в URI

RELIANOID Сопоставление с помощью регулярных выражений чувствительно к регистру, если не указано иное.

Если требуется сопоставление без учета регистра, используйте:

(?i)^/(первое приложение|второе приложение|третье приложение)

Трафик направляется в службу по умолчанию. #

Обычно это означает:

  • Несоответствие регулярных выражений
  • Проблема с заказом услуг
  • Различия в нормализации URI

Альтернативный подход #

Хотя можно создать и несколько сервисов, это, как правило, не рекомендуется в следующих случаях:

  • Все приложения используют один и тот же пул серверной части.
  • Логика маршрутизации идентична.

Использование одного сервиса на основе регулярных выражений более эффективно.

Лучшие практики #

  • По возможности объединяйте похожие приложения в общие сервисы.
  • Используйте регулярные выражения с осторожностью, чтобы избежать непреднамеренных совпадений.
  • Сохраните логику сопоставления URI централизованной.
  • Документируйте правила регулярных выражений для обеспечения оперативной прозрачности.

Резюме #

Правила F5 iRules, выполняющие выбор пула на основе URI, могут быть перенесены в RELIANOID Использование встроенных служб HTTP/S для сопоставления с помощью регулярных выражений.

Этот подход упрощает настройку, сохраняя при этом эквивалентное поведение маршрутизации приложений.

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Powered by BetterDocs