F5 уплотнение irule
У меня есть 3 типа виртуальных веб-серверов, работающих на нашем F5 LTM:
- нормальный порт 80 веб-трафик: http -> виртуальный сервер:80 -> веб-сервер: 80
- ssl разгрузка веб-трафика: https -> виртуальный сервер:443 -> веб-сервер: 80
- Повторное шифрование 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