EdgeADC
Руководство по администрированию Edgenexus ADC
×
Menu

flightPATH

flightPATH - это технология управления трафиком, встроенная в ADC. flightPATH позволяет Вам проверять HTTP и HTTPS трафик в режиме реального времени и выполнять действия в зависимости от условий.
Правила flightPATH должны применяться к VIP, если в правилах используются объекты IP.
Правило траектории полета состоит из четырех элементов:
1.     Details, где Вы определяете Имя flightPATH и Сервис, к которому он прикреплен.
2.     Условие(я), которые могут быть определены, чтобы вызвать срабатывание правила.
3.     Оценка, позволяющая определить переменные, которые могут быть использованы в рамках Действий
4.     Действия, которые используются для управления тем, что должно произойти при выполнении условий
Подробности
В разделе "Подробности" показаны доступные правила flightPATH. В этом разделе Вы можете добавлять новые правила flightPATH и удалять определенные.
Добавление нового правила flightPATH
Поле
Описание
Имя FlightPATH
Это поле предназначено для имени правила flightPATH. Имя, которое Вы здесь указываете, появляется в других частях ADC и на него ссылаются.
Применяется к VS
Этот столбец доступен только для чтения и показывает VIP, к которому применяется правило flightPATH.
Описание
Значение, представляющее описание, предоставленное для удобства чтения.
Шаги для добавления правила flightPATH
1.     Сначала нажмите кнопку Добавить новую, расположенную в разделе Подробности.
2.     Введите имя для Вашего правила. Пример Auth2
3.     Введите описание Вашего правила
4.     Как только правило будет применено к службе, Вы увидите, что в колонке Applied To автоматически заполняются IP-адрес и значение порта
5.     Не забудьте нажать кнопку Обновить, чтобы сохранить изменения, или, если Вы ошиблись, просто нажмите кнопку Отменить, чтобы вернуться к предыдущему состоянию.
Состояние
Правило flightPATH может содержать любое количество условий. Условия, работающие по принципу И, позволяют Вам установить условие, при котором срабатывает действие. Если Вы хотите использовать условие OR, создайте дополнительное правило flightPATH и примените его к VIP в правильном порядке.
Вы также можете использовать RegEx, выбрав Match RegEx в поле Check и значение RegEx в поле Value. Включение оценки RegEx значительно расширяет возможности flightPATH.
Создание нового условия flightPATH
Состояние
Мы предоставляем несколько Условий, предварительно заданных в выпадающем списке, которые охватывают все предусмотренные сценарии. Когда будут добавлены новые условия, они будут доступны через обновления Jetpack.
Доступны следующие варианты:
КОНДИЦИЯ
ОПИСАНИЕ
ПРИМЕР
<form>
HTML-формы используются для передачи данных на сервер
Пример "форма не имеет длины 0".
Местонахождение ГЕО
Сравнивает IP-адрес источника с кодами стран ISO 3166
ГЕО местоположение равно GB, ИЛИ ГЕО местоположение равно Германия
Хозяин
Хост, извлеченный из URL
www.mywebsite.com или 192.168.1.1
Язык
Язык, извлеченный из языкового HTTP-заголовка
Это условие приведет к появлению выпадающего списка с перечнем языков
Метод
Выпадающий список методов HTTP
Выпадающий список, включающий GET, POST и т.д.
Происхождение IP
Если восходящий прокси поддерживает X-Forwarded-for (XFF), он будет использовать истинный адрес происхождения
IP-адрес клиента. Он также может использовать несколько IP или подсетей.
10\.1\.2\.* - это 10.1.2.0 /24 подсеть10\
.1\.2\.3|10\.1\.2\.4 Используйте | для нескольких IP-адресов
Путь
Путь к сайту
/mywebsite/index.asp
ПОСТ
Метод запроса POST
Проверка данных, загружаемых на веб-сайт
Запрос
Имя и значение запроса, и может принимать либо имя запроса, либо также значение
"Best=jetNEXUS", где соответствие - Best, а значение - edgeNEXUS
Строка запроса
Вся строка запроса после символа ?
 
Запрос Cookie
Имя файла cookie, запрошенного клиентом
MS-WSMAN=afYfn1CDqqCDqUD::
Заголовок запроса
Любой заголовок HTTP
Referrer, User-Agent, From, Date
Версия для запроса
Версия HTTP
HTTP/1.0 ИЛИ HTTP/1.1
Орган реагирования
Определяемая пользователем строка в теле ответа
Сервер UP
Код ответа
Код HTTP для ответа
200 OK, 304 Not Modified
Ответное печенье
Имя файла cookie, отправленного сервером
MS-WSMAN=afYfn1CDqqCDqUD::
Заголовок ответа
Любой заголовок HTTP
Referrer, User-Agent, From, Date
Версия ответа
Версия HTTP, отправленная сервером
HTTP/1.0 ИЛИ HTTP/1.1
Источник IP
Либо IP-адрес источника, IP-адрес прокси-сервера, либо какой-то другой агрегированный IP-адрес
ClientIP
, Proxy IP, Firewall IP. Можно также использовать несколько IP и подсетей. Вы должны исключить точки, так как они являются RegEX. Пример 10\.1\.2\.3 - 10.1.2.3
 
Матч
Поле Match может быть выпадающим или текстовым и определяется в зависимости от значения в поле Condition. Например, если Условие установлено на Host, поле Match недоступно. Если Условие установлено на <form>, поле Match отображается как текстовое поле, а если Условие - POST, поле Match представлено как выпадающий список, содержащий соответствующие значения.
Доступны следующие варианты:
МАТЧ
ОПИСАНИЕ
ПРИМЕР
Принять
Типы содержимого, которые допустимы
Принять: текст/plain
Accept-Encoding
Допустимые кодировки
Accept-Encoding: <compress | gzip | deflate | sdch | identity>.
Accept-Language
Приемлемые языки для ответа
Язык приема: en-US
Accept-Ranges
Какие типы диапазонов частичного содержимого поддерживает этот сервер
Accept-Ranges: bytes
Авторизация
Учетные данные для аутентификации по протоколу HTTP
Авторизация: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Зарядка -
Содержит информацию о расходах, связанных с применением запрашиваемого метода
 
Content-Encoding
Тип используемого кодирования
Content-Encoding: gzip
Content-Length
Длина тела ответа в октетах (8-битных байтах)
Content-Length: 348
Content-Type
Тип mime тела запроса (используется с запросами POST и PUT)
Content-Type: application/x-www-form-urlencoded
Печенье
HTTP cookie, ранее отправленный сервером с помощью Set-Cookie (ниже).
Cookie: $Version=1; Skin=new;
Дата
Дата и время, когда было отправлено сообщение
Дата = "Дата" ":" HTTP-дата
ETag
Идентификатор для конкретной версии ресурса, часто дайджест сообщения
ETag: "aed6bdb8e090cd1:0".
С сайта
Адрес электронной почты пользователя, делающего запрос
От: user@example.com
If-Modified-Since
Позволяет возвращать сообщение 304 Not Modified, если содержимое не изменилось
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Last-Modified
Дата последнего изменения для запрашиваемого объекта, в формате RFC 2822
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Pragma
Реализация: Специфические заголовки, которые могут иметь различные эффекты в любой точке цепочки запрос-ответ.
Pragma: no-cache
Реферрер
Адрес предыдущей веб-страницы, с которой была получена ссылка на текущую запрашиваемую страницу
Реферер: HTTP://www.edgenexus.io
Сервер
Имя для сервера
Сервер: Apache/2.4.1 (Unix)
Set-Cookie
HTTP-куки
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
User-Agent
Строка агента пользователя
User-Agent: Mozilla/5.0 (совместимый; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Варьировать
Сообщает нижестоящим прокси-серверам, как сопоставить заголовки будущих запросов, чтобы решить,
можно ли
использовать кэшированный ответ, а не запрашивать новый
с исходного сервера.
Vary: User-Agent
X-Powered-By
Указывает технологию (например, ASP.NET, PHP, JBoss), поддерживающую веб-приложение
X-Powered-By: PHP/5.4.0
 
Чувства
Поле Sense является выпадающим булевым полем и содержит варианты Does или Doesn't.
Проверьте
Поле Проверка позволяет установить контрольные значения против Условия.
Доступны следующие варианты: Содержать, Конец, Равный, Существующий, Имеет длину, Соответствует RegEx, Соответствует списку, Начало, Превышает длину
ПРОВЕРЬТЕ
ОПИСАНИЕ
ПРИМЕР
Существовать
Здесь не важны детали условия, только то, что оно существует/не существует
Host - Does - Exist
Начало
Строка начинается со значения
Путь - Does - Start - /secure
Конец
Строка заканчивается значением
Путь - Делает - Конец - .jpg
Содержите
Строка содержит Значение
Заголовок запроса - Принимать - Есть - Содержит - изображение
Равный
Строка равна значению
Host - Does - Equal - www.jetnexus.com
Иметь длину
Строка имеет длину, равную значению
Host - Does - Have Length - 16www.jetnexus.com
= TRUEwww.jetnexus.co.uk
= FALSE
Соответствие RegEx
Позволяет Вам ввести полное регулярное выражение, совместимое с Perl
Origin IP - Does - Match Regex - 10\...* | 11\...*
 
Шаги для добавления условия
Добавить новое условие flightPATH очень просто. Пример показан выше.
1.     Нажмите кнопку Добавить новую в области Условие.
2.     Выберите условие из выпадающего списка. В качестве примера возьмем Хост. Вы также можете ввести текст в поле, и ADC покажет значение в выпадающем списке.
3.     Выберите чувство. Например, Does
4.     Выберите Проверку. Например, Содержать
5.     Выберите значение. Например, mycompany.com
Приведенный выше пример показывает, что есть два условия, которые оба должны быть ИСТИНОЙ, чтобы правило было выполнено
·     Первое - это проверка того, что запрашиваемый объект является изображением
·     Второй проверяет, является ли хост в URL www.imagepool.com.
Оценка
Возможность добавлять определяемые переменные является привлекательной возможностью. Обычные АЦП предлагают такую возможность, используя сценарии или опции командной строки, которые не являются идеальными для всех. АЦП позволяет Вам определить любое количество переменных с помощью простого в использовании графического интерфейса, как показано и описано ниже.
Определение переменной flightPATH состоит из четырех записей, которые необходимо сделать.
·     Переменная - это имя переменной
·     Источник - выпадающий список возможных точек источника
·     Деталь - выберите значения из выпадающего списка или наберите вручную.
·     Значение - значение, которое хранит переменная, может быть буквенно-цифровым значением или RegEx для точной настройки.
Встроенные переменные:
Встроенные переменные уже жестко закодированы, поэтому Вам не нужно создавать для них оценочную запись.
Вы можете использовать любую из переменных, перечисленных ниже в разделе "Действие".
Объяснение каждой переменной находится в таблице "Условия" выше.
·     Метод = $method$
·     Path = $path$
·     Querystring = $querystring$
·     Sourceip = $sourceip$
·     Код ответа (текст также включает "200 OK") = $resp$
·     Host = $host$
·     Версия = $version$
·     Клиентский порт = $clientport$
·     Clientip = $clientip$
·     Геолокация = $geolocation$"
ДЕЙСТВИЕ
ЦЕЛЬ
Действие = Перенаправление 302
Цель = HTTPs://$host$/404.html
Действие = Журнал
Target = Клиент из $sourceip$:$sourceport$ только что сделал запрос $path$ page
 
Объяснение:
·     Клиент, обращающийся к несуществующей странице, обычно получает в браузере страницу "Ошибка 404".
·     Вместо этого пользователь перенаправляется на исходное имя хоста, которое он использовал, но неверный путь заменяется на 404.html
·     В Syslog добавляется запись: "Клиент с 154.3.22.14:3454 только что запросил страницу wrong.html".
Действие
Следующим этапом процесса является добавление действия, связанного с правилом и условием flightPATH.
В этом примере мы хотим переписать часть пути URL, чтобы отразить URL, набранный пользователем.
·     Нажмите кнопку Добавить новый
·     Выберите Переписать путь из выпадающего меню Действие
·     В поле Цель введите $path$/myimages
·     Нажмите Обновить
Это действие добавит /myimages к пути, так что окончательный URL станет www.imagepool.com/myimages.
Применение правила flightPATH
Применение любого правила flightPATH осуществляется на вкладке flightPATH каждого VIP/VS.
·     Перейдите в раздел Services > IP Services и выберите VIP, которому Вы хотите назначить правило flightPATH.
·     Вы увидите список реальных серверов, показанный ниже
·     Перейдите на вкладку flightPATH
·     Выберите правило flightPATH, которое Вы настроили, или одно из предварительно созданных правил. При необходимости Вы можете выбрать несколько правил flightPATH.
·     Перетащите выбранный набор в раздел Applied flightPATHs или нажмите кнопку со стрелкой >>.
·     Правило будет перемещено в правую часть и автоматически применено.