规则引擎功能能够使用图形化的方式来配置各种条件规则。条件规则支持对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效,可用于更加灵活、更加精确地控制各种配置策略的执行效果。规则引擎允许您使用相同的基本语法和配置逻辑在不同的产品功能(例如:缓存、重定向、压缩、回源、WAF等)中创建和部署条件规则。
ESA规则引擎
规则引擎允许您使用相同的基本语法和配置逻辑在不同的产品功能(例如:缓存、重定向、压缩、回源、WAF等)中创建和部署条件规则。
同一个功能,如果在全局配置和规则引擎上都添加了配置,那么用户请求命中规则条件的时候,规则引擎上的配置优先生效。
运用ESA规则引擎进行WAF防护
示例-阻止除中国内地以外的所有国家/地区
配置规则条件
需要阻止除单个国家/地区(示例中是中国内地)之外的所有国家/地区,请执行以下步骤:
在左侧导航栏,选择
。填入规则名称
rule-01
。在匹配类型下拉列表中,选择国家/地区。
在运算符下拉列表中,选择不等于。
在值得下拉列表中,选择中国内地。
最后,在操作下拉列表中,选择拦截,然后单击确定。
相反,如果需要阻止单个国家/地区,请从运算符下拉列表中选择等于。然后按照如上方式进行操作。
表达式生成器:(ip.geoip.country ne "CN"
)。
验证浏览器拦截
当请求地域为非中国内地,例如这里以新加坡的地域尝试访问,将会返回默认的拦截页面以及响应码403。
运用ESA规则引擎设置重定向规则
示例-将请求从一个URL重定向到另一个URL
配置规则条件
填入规则名称
rule-02
。在匹配类型下拉列表中,选择主机名。
在运算符下拉列表中,选择等于。
在值下拉列表中,填入主机名为:
www.example.com
增加URL路径,单击And。选择URL路径
在运算符下拉列表中,选择等于。
在值中,填入路径为:
/image1.jpg
。在单一重定向栏中,填入重定向的另一个URL:
https://www.example.com/image/image2.jpg
。
验证重定向效果
针对原始的请求做访问重定向,重定向到路径/image
,请求示例:
运用ESA规则引擎设置浏览器缓存过期时间规则
示例-将主机名是www.example.com
,URL路径是/content
,缓存1小时。
配置规则条件
填入规则名称
rule-03
。在匹配类型下拉列表中,选择主机名。
在运算符下拉列表中,选择等于。
在值下拉列表中,填入主机名为:
www.example.com
。增加URL路径,单击And。选择URL路径。
在运算符下拉列表中,选择等于。
在值中,填入路径为:
/content
配置浏览器缓存过期时间
选择忽略源站缓存策略,使用自定义缓存时间。填写1,选择单位是小时。
验证浏览器过期缓存时间
测试验证访问该文件,是否获得响应cache-control: max-age=3600
。