EdgeADC - Version 5.0.0.1986
User Guide
×
Menu

添加新的 flightPATH 规则

现场
说明
FlightPATH 名称
此字段为 flightPATH 规则的名称。您在此提供的名称会出现在 ADC 的其他部分中并被引用。
适用于 VS
此列为只读,显示应用了 flightPATH 规则的 VIP。
说明
为便于阅读而提供的描述值。
添加 flightPATH 规则的步骤
1.     首先,单击 "详细信息 "部分的 "添加新内容 "按钮。
2.     输入规则名称。示例 Auth2
3.     输入规则描述
4.     一旦将规则应用于服务,就会看到 "应用于 "栏自动填充 IP 地址和端口值
5.     不要忘了点击 "更新 "按钮来保存更改,如果你做错了,只需点击 "取消 "按钮即可恢复到之前的状态。
条件
flightPATH 规则可以包含任意数量的条件。这些条件以 AND 为基础,允许您设置触发操作的条件。如果要使用 OR 条件,请创建额外的 flightPATH 规则,并按正确顺序将其应用到 VIP。
您还可以在 "检查 "字段中选择 "匹配 RegEx",并在 "值 "字段中选择 RegEx 值,从而使用 RegEx。RegEx 评估的加入极大地扩展了 flightPATH 的功能。
创建新的 flightPATH 条件
首先,您必须从条件列中选择一个值。
我们在下拉菜单中提供了多个条件,涵盖了所有可预见的情况。当添加新条件时,这些条件将通过 Jetpack 更新提供。
可供选择的选项有
状况
说明
示例
<form
HTML 表单用于向服务器传递数据
示例 "表单长度不为 0"
GEO 位置
将源 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 标头
推荐人、用户代理、发件人、日期
申请版本
HTTP 版本
http/1.0 或 http/1.1
响应机构
用户在回复正文中定义的字符串
服务器升级
响应代码
响应的 HTTP 代码
200 确定,304 未修改
响应曲奇
服务器发送的 cookie 的名称
MS-WSMAN=afYfn1CDqqCDqUD::
响应标头
任何 HTTP 标头
推荐人、用户代理、发件人、日期
响应版本
服务器发送的 HTTP 版本
http/1.0 或 http/1.1
来源 IP
可以是源 IP、代理服务器 IP 或其他集合 IP 地址
客户端 IP、代理 IP、防火墙 IP。也可使用多个 IP 和子网。必须转义点,因为这些点是 RegEX。示例 10\.1\.2\.3 是 10.1.2.3
 
比赛
匹配 "字段可以是下拉或文本值,其定义取决于 "条件 "字段中的值。例如,如果 "条件 "设置为 "主机",则匹配字段不可用。如果 "条件 "设置为 <form>,则匹配字段显示为文本字段;如果 "条件 "设置为 POST,则匹配字段显示为包含相关值的下拉列表。
可供选择的选项有
匹配
说明
示例
接受
可接受的内容类型
接受: text/plain
接受编码
可接受的编码
接受编码: <compress | gzip | deflate | sdch | identity>
接受语言
可接受的答复语言
接受语言: en-US
接受范围
该服务器支持哪些部分内容范围类型
接受范围:字节
授权
用于 HTTP 验证的验证凭据
授权:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
收费
包含所申请方法应用成本的账目信息
 
内容编码
使用的编码类型
Content-Encoding: gzip
内容长度
以八位字节(8 位字节)为单位的响应正文长度
内容长度: 348
内容类型
请求正文的 MIME 类型(用于 POST 和 PUT 请求)
Content-Type: 应用程序/x-www-form-urlencoded
饼干
服务器先前通过 Set-Cookie 发送的 HTTP cookie(如下所示)
Cookie: $Version=1; Skin=new;
日期
发出信息的日期和时间
日期 = "日期" ":" HTTP-date
ETag
资源特定版本的标识符,通常是信息摘要
ETag:"aed6bdb8e090cd1:0"
来自
提出申请的用户的电子邮件地址
发件人:user@example.com
如果-修改-自
如果内容未变,允许返回 304 Not Modified(未修改
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
最后修改
请求对象的最后修改日期(RFC 2822 格式
Last-Modified:Tue, 15 Nov 1994 12:45:26 GMT
Pragma
执行:特定标头,可在请求-响应链的任何位置产生各种影响。
Pragma: no-cache
推荐人
链接到当前请求页面的前一个网页的地址
Referrer: HTTP://www.edgenexus.io
服务器
服务器名称
服务器:Apache/2.4.1 (Unix)
设置
HTTP cookie
Set-Cookie:UserID=JohnDoe; Max-Age=3600; Version=1
用户代理
用户代理的用户代理字符串
用户代理:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
不同
告诉下游代理如何匹配未来的请求标头,以决定
是否可以使用缓存的响应,而不是从源服务器请求新的响应。
响应
可变:User-Agent
X-Powered-By
指定支持网络应用程序的技术(如 ASP.NET、PHP、JBoss)。
X-Powered-By:PHP/5.4.0
 
感觉
意义 "字段是一个下拉布尔字段,包含 "是 "或 "否 "选项。
检查
校验字段允许根据条件设置校验值。
可供选择的选项有包含、结束、相等、存在、有长度、匹配 RegEx、匹配列表、开始、超过长度
检查
说明
示例
存在
这并不关心条件的细节,只关心它是否存在。
主机> 是否> 存在
开始
字符串以值开头
路径 >> 是否开始 /secure>
结束
字符串以 "值 "结尾
路径 >> 是否结束 - .jpg
包含
字符串确实包含值
请求头> 接受 >> 是否包含> 图像
平等
字符串确实等于值
主机 >> 是否等于> www.edgenexus.io
有长度
字符串的长度值为
主机 >> 是否有长度> 16
www.edgenexus.io = TRUE
www.edgenexus.com = FALSE
匹配 RegEx
可以输入完整的 Perl 兼容正则表达式
来源 IP >> 是否与 Regex 匹配
比赛列表
使您可以将值与值列表进行匹配。这在需要匹配特定 IP 地址时非常有用。值之间用逗号(,)或括号(|)分隔。
源 IP>  是否 > 匹配列表 > 10.10.10.1、10.10.10.2、10.10.10.3 等
超出长度
允许检查数值是否超过指定长度。
路径 > 是否 > 超过长度 > 200
 
添加条件的步骤
添加新的 flightPATH 条件非常简单。上图是一个示例。
1.     单击 "条件 "区域中的 "添加新条件 "按钮。
2.     从下拉框中选择一个条件。以主机为例。您也可以在字段中输入,ADC 会在下拉框中显示该值。
3.     选择一种感觉。例如,是否
4.     选择检查。例如,包含
5.     选择一个值。例如,mycompany.com
上面的示例显示,有两个条件都必须为 "true",规则才能完成
     首先是检查请求的对象是否是图像
     第二步是检查 URL 中的主机是否为 www.imagepool.com
评估
添加可定义变量的功能非常强大。其他 ADC 使用脚本或命令行选项提供这种功能,对任何人来说都不理想。EdgeADC 允许您使用易于使用的图形用户界面定义任意数量的变量,如下图所示。
flightPATH 变量定义包括四个需要输入的条目。
     变量 - 这是变量的名称
     来源 - 可能来源点的下拉列表
     详细信息 - 从下拉菜单中选择数值或手动输入。
     值 - 变量的值,可以是字母数字值或用于微调的 RegEx。
内置变量
内置变量已被硬编码,因此无需为其创建评估条目。
您可以在 "操作 "部分使用下面列出的任何变量。
     $sourceip$ - 请求的源 IP 地址
     $sourceport$ - 使用的源端口
     $clientip$ - 客户机的 IP 地址
     $clientport$ - 客户端使用的端口
     $host$ - 请求中指定的主机
     $method$ - 使用的方法:GET、POST 等
     $path$ - 申请中指定的路径
     $querystring$ - 请求中使用的查询字符串
     $version$ - REQUEST 中 HTTP 请求的版本(目前只允许使用 1 和 1.1)。
     $resp$ - 服务器的响应,如 200OK、404 等。
     $geolocation$ - 请求的地理位置。
行动
目标
操作 = 重定向 302
目标 = HTTPs://$host$/404.html
操作 = 日志
目标 = 来自 $sourceip$:$sourceport$ 的客户端刚刚请求 $path$ 页面
 
解释:
     客户访问不存在的页面时,通常会看到浏览器的 404 错误页面
     相反,用户会被重定向到他们使用的原始主机名,但错误的路径会被 404.html 代替
     系统日志中会添加一条记录:"来自 154.3.22.14:3454 的客户端刚刚请求了错误的 html 页面"。
行动
流程的下一阶段是添加与 flightPATH 规则和条件相关的操作。
在本例中,我们要重写 URL 的路径部分,以反映用户键入的 URL。
     单击添加新内容
     从操作下拉菜单中选择重写路径
     在目标字段中,键入 $path$/myimages
     点击更新
此操作将在路径中添加 /myimages,因此最终 URL 将变为 www.imagepool.com/myimages
行动
说明
示例
添加请求 Cookie
在 "目标 "部分添加请求 cookie 的详细信息,并在 "数据 "部分添加值
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
添加请求标题
在数据部分添加带值的目标类型请求标头
目标= 接受 数据= 图像/png
添加响应 Cookie
在 "目标 "部分详细添加 "响应 Cookie",并在 "数据 "部分添加值
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
添加响应标头
在 "目标 "部分添加详细的请求标头,并在 "数据 "部分添加值
Target= Cache-Control Data= max-age=8888888
车身全部更换
搜索回复正文并替换所有实例
Target= http://(搜索字符串) Data= https://(替换字符串)
首先更换机身
搜索回复正文,仅替换第一例
Target= http://(搜索字符串) Data= https://(替换字符串)
机身 最后更换
搜索回复正文,仅替换最后一个实例
Target= http://(搜索字符串) Data= https://(替换字符串)
下降
这将中断连接
目标= 不适用 数据= 不适用
电子邮件
将向电子邮件事件中配置的地址发送电子邮件。您可以使用变量作为地址或信息
Target= "flightPATH 已通过电子邮件发送此事件" Data= N/A
日志事件
这将在系统日志中记录一个事件
Target= "flightPATH 已将此记录到系统日志中" Data= N/A
重定向 301
这将发出永久重定向
目标= http://www.edgenexus.io 数据= 不适用
重定向 302
这将发出临时重定向
目标= http://www.edgenexus.io 数据= 不适用
删除请求 Cookie
移除 "目标 "部分详细介绍的请求 cookie
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
删除请求标题
删除 "目标 "部分详细说明的请求标头
目标=服务器 数据=N/A
移除响应
移除 "目标 "部分中详细说明的响应 cookie Cookie
目标=jnAccel
移除响应
删除 "目标 "一节中详细说明的响应标头 标头
目标= Etag 数据= 不适用
替换请求 Cookie
用 "数据 "部分的值替换 "目标 "部分详细列出的请求 cookie
Target= Cookie Data= MS-WSMAN=afYfn1CDqqCDqCVii
替换请求标题
用数据值替换目标中的请求标头
目标= 连接 数据= 保持有效
替换
用数据部分的值替换目标部分的响应 cookie Cookie
Target=jnAccel=afYfn1CDqqCDqCVii Date=MSWSMAN=afYfn1CDqqCDqCVii
替换响应
用 "数据 "部分的值替换 "目标 "部分中详细说明的响应标头 标头
目标= 服务器 数据= 为安全起见不公开
重写路径
这将允许您根据条件将请求重定向到新的 URL
Target= /test/path/index.html$querystring$ Data= N/A
使用安全服务器
选择要使用的安全服务器或虚拟服务
Target=192.168.101:443 Data=N/A
使用
选择要使用的服务器或虚拟服务
目标= 192.168.101:80 数据= 不适用
加密 Cookie
这将对 cookie 进行 3DES 加密,然后进行 base64 编码
Target= 输入要加密的 cookie 名称,可在末尾使用 * 作为通配符 Data= 输入加密的通行短语
 
一个 flightPATH 规则场景
一位客户拥有一个电子商务网站,但遇到了 cookie 被最新版本浏览器阻止的问题。
客户对问题进行了追踪,发现根本原因是相关 cookie 缺乏 "安全 "和 "同站点 "标记。
让我们看看 flightPATH 如何提供帮助。
     我们有一个名为 "wp_woocommerce_session_97929973749972642 "的 cookie
     cookie 的名称是 "wp_woocommerce_session_",随机唯一 ID 值为 "97929973749972642",由电子商务系统生成。
     同一站点 "和 "安全 "标签似乎是空白的,因此浏览器的新安全限制阻止了 cookie。
     为了防止这种情况发生,我们可以创建以下 flightPATH 规则。
     会话 ID 的 flightPATH 规则
o     条件
留空
o     评估
变量 = $variable_1$
来源 = 响应 cookie
详情 = wp_woocommerce_session_*
o     操作
操作 = 替换响应 Cookie
目标 = wp_woocommerce_session_*
数据 = $variable_1$
     标签的 flightPATH 规则
o     条件:
条件 = 响应 Cookie
匹配 = woocommerce_cart_hash
意义 = 是否
检查 = 存在
值 = 留空
o     评估:
变量 = $variable_2$
来源 = 响应 Cookie
详细信息 = woocommerce_cart_hash
值 = 留空
o     操作:
操作 = 替换响应 Cookie
目标 = woocommerce_cart_hash
Data = $variable_2$,SameSite=None,Secure
现在,您可以将规则应用到需要这些规则的虚拟服务。