之前发布了一篇《CDN 的下一站是啥?边缘计算!》,主要讲解了边缘计算的概念及作用。我们来简单回顾下:边缘计算主要是将数据的处理、应用程序的运行,甚至一些功能服务的实现,由中心服务器下放到网络的边缘节点上。
和边缘计算一样,边缘规则(EdgeRules)也将一些网站常用功能直接放到边缘节点上,将业务逻辑转移到边缘网络,在边缘节点上完成一些业务逻辑和网站功能的处理。这减少了业务服务器到内部服务端的请求消耗,无形当中降低了源站带宽消耗,节省了成本,为终端用户带来更好的访问体验。下面来简单了解下又拍云边缘规则。
What's EdgeRules?
又拍云边缘规则(EdgeRules)的前身叫作自定义 Rewrite 功能,又拍云在 2017 年将该功能统一升级。边缘规则是又拍云基于 Rewrite 开发的可扩展应用程序,它充分利用又拍云 CDN 分布式边缘网络的性能及规模,通过边缘网络中的智能可扩展应用程序规则简化内容分发业务逻辑,并提升终端用户访问体验。
升级之后的边缘规则在使用方面,新增了【通用模式】,规则的编写将会更加简单方便;在管理方面更加方便、灵活,界面同时展示了优先级、规则名称、状态等字段;在【通用模式】下,根据使用场景划分了几大功能,包括:添加/删除 HTTP 头部、自定义错误页面、边缘重定向、URL 改写、访问控制、请求限速等。
△ 边缘规则常见业务场景
边缘规则部署迅速且配置简单,可极大降低业务实现成本。通过强大的边缘规则集,充分利用 CDN 边缘网络的规模和性能,您可以自定义编写规则来满足常用的业务场景,随心所欲。
Advantages of EdgeRules
边缘规则中的 URL Rewrite 是非常有用的一个功能,它可以让你提高搜索引擎阅读的能力;而且在改变了网站链接后,不会影响用户收藏的书签,也不会影响合作网站的友情链接;同时它还可以提升网站安全性,让网站更专业,更易于使用。
URL 美化,提升网站 SEO
如果您正在设计个人网页或者重新设计公司网站,想提高网站的知名度,应该将网站的 URL 转换为用户友好的 URL,或搜索引擎友好的 URL。这时边缘规则就可以上场了,它可以配合网站将动态 URL 转换为语义 URL(Semantic URL),以改善搜索引擎索引编制,从而提高 SEO 排名,也美化了 URL。
△ 边缘规则提升网站 SEO
哪些 URL 是语义 URL 呢?通过如下举例来进行说明。首先来看一下搜索引擎比较厌烦的 URL:
http://example.com/pay/25/8/...
很明显,当你看到这样的 URL 时,根本弄不清楚当前看到的是那个产品的信息。所以,我们有必要将 URL 改成以下形式的链接:
http://example.com/pay.php?payid=25&categoryid=8...
可以看到转换之后的 URL 的内容一目了然,这类 URL 就是语义 URL。
改写之后就更好的满足了搜索引擎的要求。某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被用户搜索到。因此应用语义地址是很有必要的,它更易于被搜索引擎所收录。
降低源站带宽消耗,提升终端用户体验
一些网站的管理员更希望网站的业务逻辑可以放在云端来进行计算和处理,直接在 CDN 边缘网络中来执行这些重写逻辑,避免对源站来回提出请求,一方面可以提升用户体验,另一方面可以减轻源站压力。比如下列业务需求:
请求重定向
请求禁止
HTTP 头部修改
请求限速策略
以上这些业务逻辑的处理,都可以通过又拍云边缘规则来实现。这样减少了业务服务器到内部服务端的请求消耗,无形中降低了源站带宽消耗,节省了成本。这也是边缘规则的优势之一。
提升网站安全性
在网站开发过程中,经常会遇到一些带了一大堆参数的 URL,像老太太的裹脚布一样——又臭又长;这对于有强迫症的程序员来说,简直是噩梦一般的存在。同时一些信息参数会直接暴露在 URL 上,存在安全性问题。有些网站挂着 .asp / .jsp 开发语言的标记,让人一眼就看出使用什么语言开发的。这种情况,我们就可以自定义边缘规则对 URL 进行重写,它可以使带有参数的 URL 以一种较规则的方式体现。
例如:
/exampleAction?id=1 重写成 /example1.html
边缘规则将本该在 URL 上显示出来的传送参数进行隐蔽,隐藏了技术实现和敏感信息,提高了网站的安全性,避免让网络上的恶意用户收集有利于发动攻击的信息。同时缩短了 URL,让用户更容易理解,更易于记忆和键入。
配置简单,快速部署,简化操作,降低定制成本
在又拍云控制台(服务管理 -> 功能配置 -> 边缘规则),您可以即时修改和部署边缘规则;在不修改任何应用程序代码的前提下,规则可以在几秒内快速下发到所有的边缘网络中。
同时又拍云边缘规则支持“测试”模式,测试中,规则只会对本地客户端 IP 生效。当且仅当测试满足业务要求之后,可以将规则调整为启用状态。
在使用方式方面,边缘规则支持【通用模式】和 【编程模式】。在 【通用模式】下,可以通过可视化界面进行规则添加,降低了使用门槛,也加快了常用规则的编写速度;而技术大牛在熟悉了函数及变量的含义以及使用方法后,可以通过强大的边缘规则集针对需求编写规则和调试,体验编程的乐趣,编写业务所需的独特功能。
又拍云边缘规则将网站业务逻辑转移到 CDN 边缘网络,在很大程度上降低了特殊业务定制所消耗的时间,进而加快了定制业务的上市时间。
How to Configure
这里以【URL 改写】为例,进行相关介绍。
示例:目录及参数改写
将请求 URL 转换为带参数的动态 URL,例如请求的 URL 为:
需要 CDN 边缘节点转换为如下请求:
http://example.com/pay.php?payid=25&categoryid=8…
这个时候,pattern 部分需要提取目录数字,需要生成 $1 和 $2 这样的变量,如下规则所示:
"rule": "/pay.php?productid=$1&categoryid=$2",
"pattern": "^pay/([0-9]+)/([0-9]+)/(.*?).html$"
规则释义:当解析的 URL 符合规则 ^pay/([0-9]+)/([0-9]+)/(.*?).html$,那么将请求导向到/pay.php?productid=$1&categoryid=$2
也即将 http://example.com/pay/25/8/...转换为 http://example.com/pay.php?payid=25&categoryid=8…
应用场景:通过将动态 URL 转成语义 URL,可以改善用户体验和 SEO。
△ URL 改写配置
又拍云 EdgeRules 支持“通用模式”和“编程模式”,不论是“小白党”或者“技术大神”都可以轻松上手 。部署快速,配置简单,强劲的边缘并行计算能力及丰富的控制函数,让您享受 CDN 速度的同时有操作源站般的快感。