Примеры сценариев для выбора Сервера Балансировки

Примеры приведены в таблице

Примеры сценариев для выбора Сервера Балансировки

СценарийОписание
client.bs = "lb1"
client.action = "bs"
BASH
Передача любого запроса на Сервер Балансировки «lb1»
if client.http_req.host == "abc" then
        client.bs = "lb1"
        client.action = "bs"
else
        client.respond.status = 403
        client.action = "respond"
end
BASH

Если имя хоста в запросе точно соответствует «abc», то направить запрос на Сервер Балансировки «lb1».

В противном случае вернуть код ответа 403 (по умолчанию вернется ошибка 503)

if (client.http_req.host:find("abc") and client.remote_p:is_network("192.0.2.0/24")) then
        client.bs = "lb1"
        client.action = "bs"
else
        client.respond.status = 403
        client.action = "respond"
end
BASH
Если имя хоста содержит текст «abc» и запрос пришел из сети 192.0.2.0/24, то вернуть Сервер Балансировки «lb1».

В противном случае вернуть код ответа 403 (по умолчанию вернется ошибка 503)

if client.http_req.path:find("red") then
        client.bs = "lb1"
        client.action = "bs"
elseif client.http_req.path:find("green") then
        client.bs = "lb2"
        client.action = "bs"
else
        client.bs = "lb-default"
        client.action = "bs"
end
BASH

Если:

  • путь содержит «red», то вернуть Сервер Балансировки «lb1»;
  • путь содержит «green», то вернуть Сервер Балансировки «lb2».

Если не сработало ни одно из условий выше, то вернуть Сервер Балансировки «lb-default»