добро пожаловать в мир F5!
Вы можете использовать постоянство файлов cookie для выполнения этого, который является пассивным, BIG-IP просто добавляет файл cookie в трафик, отправляемый клиенту, поэтому при поступлении следующего запроса он может сопоставить его с нужным сервером. Вы также можете сделать это с сохранением IP-адреса источника или назначения.
Но если вы хотите, чтобы BIG-IP проверял заголовок и отправлял весь трафик на определенный хост, то вы можете сделать это с помощью iRule. Вы можете сделать это со всей логикой на BIG-IP или комбинацией логики с сервера приложений, которая вставляет заголовок с IP-адресом и портом сервера (в формате xxxx: y), а затем просто использует клиентскую сторонуiRule для проверки и направления. И пример этого будет:
when HTTP_REQUEST {
if { [HTTP::header exists MY-SPECIFIC-HOST-HEADER] } {
set poolmem_ip [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 1]
set poolmem_port [getfield [HTTP::header MY-SPECIFIC-HOST-HEADER] ":" 2]
pool MYPOOL member $poolmem_ip port $poolmem_port
}
}
, где MY-SPECIFIC-HOST-HEADER - это то, что вы решите назвать заголовком, а MYPOOL - это пул, определенный на BIG-IP, в котором ваш конкретный хост является участником.