F5 уплотнение irule

У меня есть 3 типа виртуальных веб-серверов, работающих на нашем F5 LTM:

  1. нормальный порт 80 веб-трафик: http -> виртуальный сервер:80 -> веб-сервер: 80
  2. ssl разгрузка веб-трафика: https -> виртуальный сервер:443 -> веб-сервер: 80
  3. Повторное шифрование ssl веб-трафика: https -> виртуальный сервер:443 -> веб-сервер: 443

У меня есть пул обслуживания под названием maint-web_pool с участником, работающим на настройке порта 80, на случай, если все серверы в производственном пуле не работают.

У меня есть 2 irules под этой ручкой, отображающие страницу обслуживания.

Этот irule работает только с обычным портом 80 и разгрузкой SSL:

when HTTP_REQUEST {
  if { [active_members [LB::server pool]] == 0 } {
      if { [SSL::mode] == 1 } {
        SSL::disable serverside
      }
      pool maint-web_pool
  }
}

Этот irule работает только с повторным шифрованием SSL:

when HTTP_REQUEST {
  if { [active_members [LB::server pool]] == 0 } {
      if { [PROFILE::exists serverssl] == 1 } {
         SSL::disable serverside
      }
      pool maint-web_pool
  }
}

Однако мне нужен общий одиночный irule, который работал бы как со сценариями разгрузки SSL, так и со сценариями повторного шифрования SSL. Любая попытка объединения обоих сценариев всегда приводила к ошибке "Соединение было сброшено".

Я предполагаю, что моя проблема в том, что я хотел бы проверить, определен ли серверный профиль SSL или включен, а затем предпринять действия в одном irule.

Посоветуйте, пожалуйста, как это исправить. TIA

0 ответов

Другие вопросы по тегам