EdgeADC - Version 5.00.1986
User Guide
×
Menu
  • flightPATH
  • Добавление нового правила flightPATH

Добавление нового правила flightPATH

Поле
Описание
Имя FlightPATH
Это поле предназначено для имени правила flightPATH. Имя, которое вы здесь указываете, появляется в других частях ADC и на него ссылаются.
Применяется к VS
Этот столбец доступен только для чтения и показывает VIP, к которому применяется правило flightPATH.
Описание
Значение, представляющее собой описание, предоставленное для удобства чтения.
Шаги по добавлению правила flightPATH
1.     Сначала нажмите кнопку Добавить новый, расположенную в разделе Подробности.
2.     Введите имя для правила. Пример Auth2
3.     Введите описание вашего правила
4.     Когда правило будет применено к службе, вы увидите, как в столбце "Применить к" автоматически заполняется значение IP-адреса и порта.
5.     Не забудьте нажать кнопку "Обновить", чтобы сохранить изменения, а если вы ошиблись, просто нажмите "Отменить", чтобы вернуться к предыдущему состоянию.
Состояние
Правило flightPATH может содержать любое количество условий. Условия работают по принципу AND и позволяют задать условие, при котором срабатывает действие. Если вы хотите использовать условие OR, создайте дополнительные правила flightPATH и примените их к VIP в правильном порядке.
Вы также можете использовать RegEx, выбрав Match RegEx в поле Check и значение RegEx в поле Value. Включение оценки RegEx значительно расширяет возможности flightPATH.
Создание нового условия flightPATH
Сначала нужно выбрать значение в столбце Условие.
Мы предусмотрели несколько условий в выпадающем списке, которые охватывают все возможные сценарии. Когда будут добавлены новые условия, они будут доступны через обновления Jetpack.
Доступны следующие варианты:
СОДЕРЖАНИЕ
ОПИСАНИЕ
ПРИМЕР
<form>
HTML-формы используются для передачи данных на сервер
Пример "форма не имеет длины 0"
Местоположение ГЕО
Сравнивает IP-адрес источника с кодами стран ISO 3166.
Местонахождение ГЕО равно GB, ИЛИ Местонахождение ГЕО равно Germany
Хозяин
Хост, извлеченный из URL-адреса
www.mywebsite.com или 192.168.1.1
Язык
Язык, извлекаемый из HTTP-заголовка language
Это условие приведет к появлению выпадающего списка языков
Метод
Выпадающий список методов HTTP
Выпадающий список, включающий GET, POST и т.д.
Происхождение IP
Если восходящий прокси поддерживает X-Forwarded-for (XFF), он будет использовать истинный адрес Origin.
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, запрашиваемого клиентом
MS-WSMAN=afYfn1CDqqCDqUD::
Заголовок запроса
Любой заголовок HTTP
Referrer, User-Agent, From, Date
Версия для запросов
Версия HTTP
HTTP/1.0 ИЛИ HTTP/1.1
Орган реагирования
Заданная пользователем строка в теле ответа
Сервер вверх
Код ответа
Код 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-адрес
IP-адрес клиента, IP-адрес прокси-сервера, IP-адрес брандмауэра. Можно также использовать несколько IP и подсетей. Точки необходимо экранировать, так как они являются RegEX. Пример 10\.1\.2\.3 - это 10.1.2.3
 
Матч
Поле Match может быть выпадающим или текстовым и определяется в зависимости от значения в поле Condition. Например, если условие установлено на Host, поле Match недоступно. Если условие установлено на <form>, поле Match отображается как текстовое поле, а если условие - POST, поле Match представляется как выпадающий список, содержащий соответствующие значения.
Доступны следующие варианты:
МАТЧ
ОПИСАНИЕ
ПРИМЕР
Принять
Типы содержимого, которые допустимы
Принять: text/plain
Accept-Encoding
Допустимые кодировки
Accept-Encoding: <compress | gzip | deflate | sdch | identity>.
Accept-Language
Приемлемые языки для ответа
Язык приема: en-US
Диапазоны приема
Какие типы диапазонов частичного содержимого поддерживает этот сервер
Диапазон приема: байты
Авторизация
Учетные данные для аутентификации по протоколу 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-куки, ранее отправленные сервером с помощью 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
Указывает нижестоящим прокси-серверам, как сопоставить заголовки будущих запросов, чтобы решить
можно ли использовать кэшированный ответ, а не запрашивать новый
с оригинального сервера
Vary: User-Agent
X-Powered-By
Указание технологии (например, ASP.NET, PHP, JBoss), поддерживающей веб-приложение
X-Powered-By: PHP/5.4.0
 
Чувство
Поле Sense представляет собой выпадающее булево поле и содержит варианты Does или Doesn't.
Проверьте
Поле "Проверка" позволяет установить контрольные значения для условия.
Доступны следующие варианты: Содержать, Конец, Равный, Существующий, Имеет длину, Соответствует RegEx, Соответствует списку, Начало, Превышает длину
ПРОВЕРИТЬ
ОПИСАНИЕ
ПРИМЕР
Существовать
Здесь не важны детали условия, важно лишь то, что оно существует/не существует
Хост> Существует >
Начало
Строка начинается со значения
Путь> Начинается> Начинается /secure>
Конец
Строка заканчивается значением
Путь> заканчивается> - .jpg
Содержите
Строка содержит значение
Заголовок запроса> Принять> Содержит ли> изображение>
Равный
Строка равна значению
Хозяин> Равняется ли >> www.edgenexus.io
Длина
Строка имеет длину, равную значению
Хост> Имеет ли> длину> 16
www.edgenexus.io = TRUE
www.edgenexus.com = FALSE
Соответствие RegEx
Позволяет ввести полное регулярное выражение, совместимое с Perl.
IP-адрес происхождения> Соответствует ли> Regex
Список матчей
Позволяет сопоставить значение со списком значений. Это полезно, когда нужно сопоставить, например, определенные IP-адреса. Значения разделяются запятыми (,) или точками (|).
IP-адрес источника>  Does > Match List > 10.10.10.1, 10.10.10.2, 10.10.10.3 и т. д.
Превышение длины
Позволяет проверить, не превышает ли значение указанную длину.
Путь > Есть > Превысить длину > 200
 
Шаги для добавления условия
Добавить новое условие flightPATH очень просто. Пример показан выше.
1.     Нажмите кнопку Добавить новый в области Условие.
2.     Выберите условие в раскрывающемся окне. В качестве примера возьмем Host. Вы также можете ввести текст в поле, и ADC отобразит значение в выпадающем списке.
3.     Выберите смысл. Например, Does
4.     Выберите флажок. Например, "Содержать
5.     Выберите значение. Например, mycompany.com
В приведенном выше примере показано, что есть два условия, которые оба должны быть TRUE, чтобы правило было выполнено
     Первая проверка заключается в том, что запрашиваемый объект является изображением
     Второй проверяет, является ли хост в URL адресе www.imagepool.com.
Оценка
Возможность добавления определяемых переменных - это очень интересная возможность. Другие АЦП предлагают такую возможность с помощью сценариев или командной строки, что не является идеальным вариантом для любого пользователя. EdgeADC позволяет определять любое количество переменных с помощью простого в использовании графического интерфейса, как показано и описано ниже.
Определение переменной flightPATH состоит из четырех записей, которые необходимо сделать.
     Переменная - это имя переменной
     Источник - выпадающий список возможных точек источника
     Деталь - выбор значений из выпадающего списка или ручной ввод.
     Значение - значение, которое хранит переменная, может быть буквенно-цифровым значением или RegEx для тонкой настройки.
Встроенные переменные:
Встроенные переменные уже жестко закодированы, поэтому вам не нужно создавать для них запись оценки.
Вы можете использовать любую из переменных, перечисленных ниже в разделе "Действие".
     $sourceip$ - IP-адрес источника запроса
     $sourceport$ - Порт источника, который был использован
     $clientip$ - IP-адрес клиента
     $clientport$ - Порт, используемый клиентом
     $host$ - хост, указанный в запросе
     $method$ - Используемый метод: GET, POST и т. д.
     $path$ - путь, указанный в запросе
     $querystring$ - Строка запроса, используемая в запросе
     $version$ - Версия HTTP-запроса в REQUEST (в настоящее время разрешены только 1 и 1.1).
     $resp$ - Ответ от сервера. например, 200OK, 404 и т. д.
     $geolocation$ - ГЕО-положение, из которого был отправлен запрос.
АКЦИЯ
ЦЕЛЬ
Действие = Перенаправление 302
Цель = HTTPs://$host$/404.html
Действие = Журнал
Target = Клиент из $sourceip$:$sourceport$ только что сделал запрос страницы $path$.
 
Объяснение:
     Клиент, обращающийся к несуществующей странице, обычно получает в браузере страницу 404 Error.
     Вместо этого пользователь перенаправляется на исходное имя хоста, которое он использовал, но неверный путь заменяется на 404.html.
     В Syslog добавляется запись: "Клиент с адреса 154.3.22.14:3454 только что запросил страницу wrong.html".
Действие
Следующим этапом процесса является добавление действия, связанного с правилом и условием flightPATH.
В этом примере мы хотим переписать часть пути в URL, чтобы отразить URL, введенный пользователем.
     Нажмите Добавить новый
     Выберите Переписать путь в раскрывающемся меню Действие
     В поле Target введите $path$/myimages
     Нажмите кнопку Обновить
Это действие добавит /myimages к пути, так что конечный URL станет www.imagepool.com/myimages
Действие
Описание
Пример
Cookie запроса на добавление
Добавьте куки запроса, подробно описанные в разделе "Цель", со значением в разделе "Данные".
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
Добавить заголовок запроса
Добавьте заголовок запроса типа Target со значением в секции Data
Target= Accept Data= image/png
Добавить Cookie для ответа
Добавьте куки-файлы ответа, подробно описанные в разделе "Цель", со значением в разделе "Данные".
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
Добавить заголовок ответа
Добавьте заголовок запроса, подробный в разделе Target, со значением в разделе Data
Target= Cache-Control Data= max-age=8888888
Кузов Заменить все
Найдите тело ответа и замените все экземпляры
Цель= http:// (строка поиска) Данные= https:// (строка замены)
Замена корпуса в первую очередь
Выполните поиск в теле ответа и замените только первый экземпляр
Цель= http:// (строка поиска) Данные= https:// (строка замены)
Замена корпуса Последняя
Выполните поиск в теле ответа и замените только последний экземпляр
Цель= http:// (строка поиска) Данные= https:// (строка замены)
Капля
Это приведет к разрыву соединения
Цель= Н/Д Данные= Н/Д
Электронная почта
Отправит письмо на адрес, настроенный в Email Events. В качестве адреса или сообщения можно использовать переменную
Target= "flightPATH отправил сообщение об этом событии" Data= N/A
Журнал событий
Это приведет к регистрации события в системном журнале
Target= "flightPATH зарегистрировал это в syslog" Data= N/A
Перенаправление 301
Это приведет к постоянному перенаправлению
Цель= http://www.edgenexus.io Данные= N/A
Перенаправление 302
Это приведет к временному перенаправлению
Цель= http://www.edgenexus.io Данные= N/A
Удалить куки запроса
Удалите cookie запроса, подробно описанные в разделе "Цель
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
Удалить заголовок запроса
Удалите заголовок запроса, подробно описанный в разделе Цель
Цель=Сервер Данные=Н/А
Удалить ответ
Удалите куки-файлы ответа, подробно описанные в разделе "Цель".
Target=jnAccel
Удалить ответ
Удалите заголовок ответа, подробно описанный в разделе Заголовок цели
Target= Etag Data= N/A
Заменить cookie запроса
Замените cookie запроса, указанные в разделе "Цель", на значение в разделе "Данные".
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
Замена заголовка запроса
Замените заголовок запроса в цели значением Data
Target= Connection Data= keep-alive
Заменить
Замените cookie ответа, указанные в разделе Target, значением из раздела Data Cookie
Target=jnAccel=afYfn1CDqqCDqCVii Date=MSWSMAN=afYfn1CDqqCDqCVii
Заменить ответ
Замените заголовок ответа, указанный в разделе Target, на значение в разделе Data Header.
Цель = Данные сервера = Удержано в целях безопасности
Перезапись пути
Это позволит вам перенаправить запрос на новый URL, основываясь на условии
Target= /test/path/index.html$querystring$ Data= N/A
Используйте безопасный сервер
Выберите, какой безопасный сервер или виртуальную службу использовать
Target=192.168.101:443 Data=N/A
Используйте
Выберите, какой сервер или виртуальную службу использовать
Цель= 192.168.101:80 Данные= N/A
Зашифровать cookie
Это позволит зашифровать файлы cookie в формате 3DES, а затем закодировать их в base64
Target= Введите имя cookie, которое будет зашифровано, вы можете использовать * в качестве подстановочного символа в конце Data= Введите ключевую фразу для шифрования.
 
Сценарий правил flightPATH
У клиента есть сайт электронной коммерции, и у него возникли проблемы с блокировкой файлов cookie последними версиями браузеров.
Заказчик отслеживает проблемы и обнаруживает, что основная причина заключается в отсутствии "безопасной" и "односайтовой" маркировки для соответствующих файлов cookie.
Давайте посмотрим, чем может помочь flightPATH.
     У нас есть cookie с именем 'wp_woocommerce_session_97929973749972642'.
     Имя cookie - 'wp_woocommerce_session_' со случайным уникальным значением ID '97929973749972642', сгенерированным системой электронной коммерции.
     Теги "same-site" и "secure" кажутся пустыми, следовательно, cookie блокируется новыми ограничениями безопасности браузера.
     Чтобы этого не произошло, мы можем создать следующие правила flightPATH.
     flightPATH Правило для идентификатора сеанса
o     Состояние:
Оставьте пустым
o     Оценка:
Переменная = $переменная_1$
Источник = Cookie ответа
Деталь = wp_woocommerce_session_*
o     Действие
Действие = Заменить cookie ответа
Цель = wp_woocommerce_session_*
Данные = $variable_1$
     Правило flightPATH для тегов
o     Условие:
Условие = Cookie ответа
Соответствие = woocommerce_cart_hash
Чувствовать = Есть
Проверка = Существует
Значение = Оставить пустым
o     Оценка:
Переменная = $переменная_2$
Источник = Cookie ответа
Деталь = woocommerce_cart_hash
Значение = Оставить пустым
o     Действие:
Действие = Заменить cookie ответа
Цель = woocommerce_cart_hash
Данные = $variable_2$,SameSite=None,Secure
Теперь примените правила к виртуальным службам, которым они необходимы.