详细讲解CDN:重写规则
参考资料
详细讲解CDN:重写规则
详细讲解CDN:重写规则
CDN(内容 Delivery Network)中的重写规则用于确定客户端请求应路由到哪个服务器。重写规则一般由匹配规则、目标URL、转发方式、匹配条件、是否保留URL参数和是否终止往下匹配等部分组成。
匹配规则
匹配规则
解释:匹配路径
/post/
后的任意字符(.
表示任意字符,+
表示一个或多个字符),并捕获括号内的内容到变量1
中。示例匹配:
/post/posts
捕获的内容为posts
,存储在变量1
中。注意:拼接时需要显式使用拼接符号
.
,如$1
。匹配规则用于确定请求应被转发到哪个目标URL。通常使用正则表达式来定义。
例如:
/post/(.+)
目标URL
目标URL
解释:使用之前定义的变量
1
替换拼接中的位置占位符,拼接完整的URL。示例拼接:变量
1
的值为posts
,拼接后成为/post/posts.html
。目标URL用于指定请求应转发到哪个URL。
例如:
/post/${1}.html
转发方式
转发方式
隐式:转发后客户端不会显示重写后的URL,服务器直接返回内容。
显式:转发后客户端会显示重写后的URL,并且内容显示为该URL。
匹配条件
匹配条件
当转发方式为隐式且目标URL的主机名不同时,可在此处修改代理主机名。
示例用途:修改来自代理服务器接收到的域名,例如服务器返回
200 OK
但来自example.com
,而客户端请求来自prod.example.com
,需修改为prod.example.com
。代理主机名(例如:
example.com
):指定需代理的主机名,仅在转发方式为隐式时使用。
是否保留URL参数
是否保留URL参数
选中此选项,目标URL将包含用户输入的URL中的参数部分。
示例:输入URL为
/post?param=1
,目标URL会拼接为/post?param=1
。
是否终止往下匹配
是否终止往下匹配
选中此选项,一旦匹配成功,将不再处理后续规则,避免重复匹配。
示例:如果多个规则都匹配请求,选中此选项后,只会使用第一条匹配的规则,后续的规则将被跳过。
启用当前重写规则
启用当前重写规则
确保所有希望使用的重写规则都被启用。
具体操作:前往CDN管理平台,进入规则配置,勾选需启用的规则。
示例配置
匹配规则:
/post/(.+)
目标URL:
/post/${1}.html
转发方式:显式
是否终止往下匹配:不终止
代理主机名:不启用
是否保留URL参数:不保留
注意事项
正则表达式的语法必须正确,确保匹配规则能够准确捕获所需内容。
注意拼接符号的使用,引用变量时需使用拼接符号(如
$1
)。根据CDN平台的特定要求,可能需要进行额外配置或调整。
通过合理配置这些选项,可以实现高效的URL重写,确保客户端获得最佳内容体验。