规则集

什么是规则集

HTTP规则引擎允许用户自定义CDN边缘服务器行为,例如CDN将如何管理缓存和重定向。这为不同平台的网站与CDN集成创造了很大的灵活性和适应性,无需太多麻烦。

如何设置规则集

你可以进入CDN Resources -> Rules 去配置

规则集由条件和操作组成。条件由一个主语和一个谓语组成,主语决定要选择的值,谓语指定要与主语进行比较的对象。条件由连接词“AND”或“or”连接。当所有条件都满足时,CDN边缘服务器将执行与规则关联的操作。CDN边缘服务器从上到下处理这些规则。它在第一次匹配时结束处理。

主题

主题 详细信息
URL 选择请求的URL部分。完整的请求URL,包含协议、域名、请求路径、参数等。
例子
http://cdn.example.com/image.jpg?name=cdn
IP 选择客户端的IP地址。如果客户端使用代理服务器,则会选择向边缘服务器发出请求的代理服务器的IP。
例子
192.0.2.43
Cookie 选择客户端发送的特定cookie的值。
例子
选择的Cookie: logged_in
客户请求的标头:Cookie: session_id=abcdef;logged_in=1; cart_id=defabc
所选值: 1
国家(Country) 选择客户的国家。如果客户的国家/地区无法从其IP中导出,则选择值“ ”。
例子
客户的IP: 193.113.9.162
所选值:英国
参数(Param) 选择特定查询字符串参数的值。如果有多个相同的键,则选择最后一个值。
例子
所选参数:page
客户请求: http://cdn.example.com/index.php?page=about&id=53
所选值:about
扩展(Extension) 选择请求的文件扩展名。如果请求文件名不包含点,则选择值“ ”。
例子
客户请求: http://cdn.example.com/image.jpg
所选值: jpg
标头(Header) 选择特定客户端请求标头的值。如果请求标头不存在,则选择值“ ”。
例子
所选标头: User-Agent
客户端发送标题:User-Agent: Mozilla/5.0 (Windows NT 6.3) Firefox/30.0
所选值:Mozilla/5.0 (Windows NT 6.3) Firefox/30.0
方案(Scheme) 选择请求的方案部分。它可以是http或https。
例子
客户请求:http://cdn.example.com/image.jpg
所选值:http

例子
客户请求 https://secure.example.com/image.jpg
所选值:https

谓语

谓语 详细信息
等于(Equals) 将主题与精确值进行比较。

例子
URL /index.php
Equals /index.php
Result TRUE

URL /ExampleFile.txt
Equals /examplefile.txt
Result TRUE

URL /image.jpg
Equals /index.php
Result FALSE
以...开头(Starts with) 比较主题是否以...值开头。

例子
IP 192.0.2.54
Starts With 192.0.2.
Result TRUE

URL /images/files.jpg
Starts With /images/
Result TRUE

IP 192.5.54.3
Starts With 192.0.2.
Result FALSE
以...结尾 比较主题是否以...结尾。

例子
URL /images/files.jpg
Ends With .jpg
Result TRUE

URL /videos/video.mp4
Ends With .jpg
Result FALSE
包含在列表中(In List) 将主题与值列表进行比较。每个值由一个空格分隔。

例子
Country GB
In List GB ES FR DE
Result TRUE

Country US
In List GB ES FR DE
Result FALSE
匹配通配符(Matches wildcard) 比较主题是否与通配符值匹配。通配符*匹配任何0个或更多字符。可以指定多个*

例子
Url /images/photos/photo.jpg
Matches Wildcard /images/ * .jpg
Result TRUE

Url /images/videos/video.mp4
Matches Wildcard /images/ * .jpg
Result FALSE

Url /archives/2014/news/index.html
Matches Wildcard / * /2014/news/ *
Result TRUE
不等于(Does not equal) 等于(Equals)的意义相反
不包含在列表中(Is not in list) 与包含在列表中(In list)的意义相反
与通配符不匹配(Does not match wildcard) 匹配通配符(Matches wildcard)意义相反

动作

动作 Details
缓存规则
强制边缘服务器从不缓存(Force Edge To Never Cache) 强制CDN边缘服务器从不缓存请求。但是,如果请求已经缓存(例如,如果在设置此规则之前缓存了请求),则不会强制将其从缓存中移出。
强制边缘缓存(Force Edge To Cache) 强制CDN边缘服务器在指定的持续时间内缓存请求。这将覆盖来自源站的任何Cache-Control或Expires标头,即使它们指定了privateno-Cache。该值必须为1秒或更长。
强制客户端缓存(Force Client To Cache) 强制客户端将请求缓存指定的持续时间(TTL)。这是通过删除所有Cache-ControlExpires响应标头来实现的,而是发送Cache-Control: max-age=...。该值必须为1秒或更长时间。
重定向规则
禁止客户(Forbid Client) 向客户端返回简单的403禁止响应。
将客户端从HTTP重定向到HTTPs(Redirect Client from HTTP to HTTPs) 返回301将响应从http地址重定向到https地址,而不是从缓存或上游加载。注意,多CDN加速域名的情况,需要选择执行重定向的域名。
重定向客户端(Redirect Client) 将302重定向响应返回到客户端和指定的URL。必须完整指定URL,以http://https://
修改标头
设置请求标题(Set Request Header) 将请求标头覆盖到源站。必须提供标头名称和标头值。
设置响应标头(Set Response Header) 覆盖客户端的响应标头。必须提供标头名称和标头值。
设置请求端头中的客户端IP(Set Client IP In Request Header) 将请求头中的客户端IP地址设置为源。必须提供标头名称。
源规则
准备源目录(Prepend Origin Directory) 当边缘服务器从源服务器请求时,将目录前置到URL。

例子
前置原始目录:images
客户端对边缘的请求: http://cdn.example.com/photo.jpg
对源站的边缘请求:http://cdn.example.com/images/photo.jpg

前置原始目录:/some/sub%20directory/
客户端对边缘的请求: http://cdn.example.com/some/file.txt
对源站的边缘请求:http://cdn.example.com/some/sub%20directory/some/file.txt

必须提供一个值(不能为空)。
目录中的前导斜杠和尾部斜杠将自动剥离。
特殊字符(如空格)必须以百分比编码。
回源主机名(Origin Server Hostname) 回源主机名的选择影响到请求源站时接收到的域名。默认是CDN加速域名。

跟随CDN域名:"跟随CDN域名"是指源站接收到的域名和当前CDN加速域名保持一致。这种类型基本用于源站支持多域名托管的情况,精准匹配请求,避免404/400错误。
跟随源站:跟随源站"是指源站接收到的域名仍然是填写的源站地址中的信息,不随代理服务域名改变而改变。多用于源站仅服务单一域名,兼容性好,无需修改源站配置。
自定义:自定义Host内容中支持请求变量。
自动添加标头 想源站自动添加这些标头,以便于源站获取客户端信息。
LightCDN all right reserved,powered by GitbookUpdated Time: 2025-03-06 11:23:13

results matching ""

    No results matching ""