2017年的最后一周,又拍云进行了一次重要升级,将自定义 Rewrite 升级为“边缘规则”。互联网应用场景的日益多样化,简单、方便、快速的根据不同应用场景实现不同的功能变得越来越重要。边缘规则,将更加贴合客户在垂直领域的需求,为终端用户带来更好的访问体验。

什么是边缘规则(EdgeRules)

又拍云 CDN 边缘网络中的智能可扩展应用程序规则——边缘规则(EdgeRules),可以帮助客户简化内容分发业务逻辑,并提升终端用户访问体验。该规则可以快速部署且配置简单,可极大降低业务实现成本,网站及 Web 应用开发者或者安全工程师可以快速创建边缘规则集来提升网站安全及分发性能。

多种功能特性完美贴合需求

功能如此强大的边缘规则,在实际使用中拥有诸多特性,可以贴合用户不同的需求,为用户带来更多的价值。

1.URL 美化,提升网站 SEO

边缘规则可以配合网站将动态 URL 转换为语义 URL,以改善搜索引擎索引编制,从而提高 SEO 排名,同时美化了 URL;

2.降低源站带宽消耗

将业务逻辑转移到边缘网络后,将会减少了业务服务器到内部服务端的请求消耗,无形当中降低了源站带宽消耗,节省了成本;

3.限制网站请求下载速度,节省更多访问带宽

通过对请求速度进行限制可以降低网站的带宽消耗,从而达到降低成本的目的;

4.减少信息交互传输时间,提升终端用户体验

众多业务逻辑都在 CDN 边缘节点进行处理和计算,避免了源站来回处理的往返时间,可有效提升终端用户体验。

5.提升网站安全性

可利用 URL 改写机制将参数隐藏起来,避免网络上的恶意用户收集有利于发动攻击的信息。

轻松编写边缘规则

以“通用模式”下 URL 重定向为例:

请求 URL 为 “ https://www.charmelady.net/index.html ” 时,302 重定向到如下地址:https://www.charmelady.net/index.htm?remoteip=121.52.226.236

其中,302 重定向地址查询串中的 remoteip 为客户端本地 IP 地址,需要规则自动获取。

1.开始配置

首先登陆又拍云 CDN 控制台,依次进入:服务管理 > 功能配置 > 边缘规则 > EdgeRules,即可进入边缘规则管理界面,如下图所示:

点击右上角的“添加规则”,进入规则配置界面,将规则名称填写为:将请求 /index.html 进行 302 重定向,使用方式选择为:通用模式。如下图所示:

2.规则编写

该部分,需要进行 “条件判断” 以及 “功能选择” 的编辑。条件判断根据需求,需要依次判断“请求 URI ” 和 “请求 Host ”是否满足要求,其次就是进行功能的选择和配置,选择“边缘重定向”功能,具体配置方式如下图所示:

从上图可以看出,条件判断里面,需要同时满足请求 URI 为 “/index.html” 并且请求 Host 为 “www.charmelady.net”,才会执行后面的边缘重定向动作,重定向的规则为:

https://www.charmelady.net/index.htm?remoteip=$_IP

其中 “ $_IP ”变量用来获取客户端本地 IP 地址,调整规则优先级,点击“保存”,就可以开始测试。

3.配置测试

当完成配置之后,使用 curl 命令进行测试,查看规则执行的结果。curl 测试命令为:

curl -vo /dev/null https://www.charmelady.net/index.html

测试结果:

GET /index.html HTTP/1.1

Host: wwww.charmelady.net

User-Agent: curl/7.43.

Accept: */*

HTTP/1.1 302 Moved Temporarily

Server: marco/1.11

Date: Tue, 26 Dec 2017 07:08:20 GMT

Content-Type: text/html

Content-Length: 159

Connection: keep-alive

Location: https://www.charmelady.net/index.htm?remoteip=121.52.226.236

Via: M.cun-sd-lyi1-136

X-Request-Id: bc13fdc2e4412e74ad4975b0b6643185

从以上响应结果可以看出,CDN 边缘节点成功响应了一个 302 状态给客户端,通过 Location 地址:https://www.charmelady.net/index.htm?remoteip=121.52.226.236。可以获知,上面配置的规则成功执行,满足测试要求。

总结

又拍云本次基于边缘规则的更新升级,该规则可以快速部署且配置简单,可以满足常用的业务场景。同时降低源站压力,提升内容分发性能,减少企业在网站运营方面成本。

推荐阅读:

HTTPS 传输优化详解之动态 TLS Record Sizetech.upyun.com启用

 
 

CDN 边缘规则,三秒部署、支持定制、即时生效,多种规则覆盖常用业务场景的更多相关文章

  1. CDN边缘节点容器调度实践(下)

    5月27日,OSC 源创会在上海成功举办.又拍云系统开发高级工程师黄励博在大会分享了<CDN 边缘节点容器调度的实践>.主要介绍又拍云自主开发的边缘节点容器调度方案,从 0 到 1 ,实现 ...

  2. CDN边缘节点容器调度实践(上)

    又拍云容器云是基于 Docker 的分布式计算资源网,节点分散在全国各地及海外,提供电信.联通.移动和多线网络,融合微服务.DevOps 理念,满足精益开发.运维一体化,大幅降低分布式计算资源构建复杂 ...

  3. 宜信开源|数据库审核软件Themis的规则解析与部署攻略

    一.介绍 Themis是宜信公司DBA团队开发的一款数据库审核产品,可帮助DBA.开发人员快速发现数据库质量问题,提升工作效率.其名称源自希腊神话中的正义与法律女神.项目取此名称,寓意此平台对数据库质 ...

  4. 阿里云CDN边缘脚本EdgeScript公测:简单语法完成CDN复杂配置

    CDN可以将源站内容分发至最靠近用户侧的节点,使得用户就近获取内容,提高用户的访问成功率和效率.作为CDN运维工程师,他的日常工作就是通过CDN系统的配置和管理,来确保CDN业务正常运转,以此来保障网 ...

  5. NBIoT三种部署方式【转】

    转自:https://472880.kuaizhan.com/89/34/p441944286fccf2 本文作者:吴老司撩通信 本文来源:EETOP NB-IoT支持在频段内(In-Band).保护 ...

  6. Nacos系列:Nacos的三种部署模式

    三种部署模式 Nacos支持三种部署模式 1.单机模式:可用于测试和单机使用,生产环境切忌使用单机模式(满足不了高可用) 2.集群模式:可用于生产环境,确保高可用 3.多集群模式:可用于多数据中心场景 ...

  7. EF里如何定制实体的验证规则和实现IObjectWithState接口进行验证以及多个实体的同时验证

    之前的Code First系列文章已经演示了如何使用Fluent API和Data Annotation的方式配置实体的属性,比如配置Destination类的Name属性长度不大于50等.本文介绍E ...

  8. sqlserver之排序规则和ETL不支持sqlserverdatetime2的问题

    sqlserver的排序规则大概分为Windows 排序规则和 SQL Server 排序规则.数据在安装的时候,默认不设置会默认为SQL_Latin1_General_CP1_CI_AI.数据库在创 ...

  9. tomcat-四种运行模式和三种部署模式(优化)

    四中运行模式如下: 1-bio: 传统的Java I/O操作,同步且阻塞IO. 2-nio: JDK1.4开始支持,同步阻塞或同步非阻塞IO 3-aio(nio.2): JDK7开始支持,异步非阻塞I ...

随机推荐

  1. 非常棒的教程记录(JVM)

    这里暂且记录下看过的非常棒的博客吧! JVM 指令集简单解释,来自一个不认识的网友的个人博客:http://www.iloveandroid.net/2015/12/06/jvm%E6%8C%87%E ...

  2. 关于在linux下清屏的几种技巧(转载-备忘)

    原文地址:http://www.cnblogs.com/5201351/p/4208277.html 在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢 ...

  3. jquery on的常用 用法

    定义和用法 on()方法在被选元素及子元素上添加一个或多个方法. 提示:使用on方法添加的事件处理程序适用于当前及未来的元素(javascript创建的) 提示:移除事件处理程序使用off()方法,如 ...

  4. 自己动手写http服务器——处理http连接(二)

    关于http报文格式请看这篇文章 //http_conn.h #ifndef HTTPCONNECTION_H #define HTTPCONNECTION_H #include <unistd ...

  5. Loadrunner 中时间戳函数 web_save_timestamp_param(时间返回数值)

    web_save_timestamp_param("tStamp", LAST); lr_output_message("Moon1:%s",lr_eval_s ...

  6. Nexys3学习手记1:写在前面的话

    偶然的机会,结识了xilinx的几位大牛,便毫不客气的从他们的手中接过了基于Spartan-6的由Digilent公司研发的Nexys3开发板(如图1所看到的).记得非常久非常久曾经初识FPGA的时候 ...

  7. 基于Handler架构的录音程序

    近期我的app须要一个录音功能,于是搜到这篇文章 文章中录音线程与主线程间的通讯是通过内部类訪问外部类成员变量的方式来实现 while (isRecord == true) { //isRecord是 ...

  8. poj:4091:The Closest M Points

    poj:4091:The Closest M Points 题目 描写叙述 每到饭点,就又到了一日几度的小L纠结去哪吃饭的时候了.由于有太多太多好吃的地方能够去吃,而小L又比較懒不想走太远,所以小L会 ...

  9. ResourceBundle读取文件学习

    开发中,我们经常需要读取本地文件(properties文件),这样的好处是文件是动态的,可配置的.这时候我们就需要用到ResourceBundle这个类. 这个类属于java.util.*. 这个类的 ...

  10. 【JAVA零基础入门系列】Day1 开发环境搭建

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...