非VIP用户下载限速,原来是这么实现的

在日常工作之余,二狗子其实还是个隐藏的大触,一手素描画得出神入化,不少看过的小伙伴嗷嗷叫着求分享。为了让更多小粉丝能看到自己的作品,二狗子开发了一个提供有版权的素描稿件的下载网站。

二狗子的小网站,只要是注册用户就可以无限速下载素描稿。这原本是一件好事,但随着访问量的增多,带宽成本成为了二狗子不可承受之重。于是就有小伙伴建议做一个 VIP 服务,让 VIP 全速下载,免费用户稍微限速一点。二狗子觉得这是个很好的办法,于是打开百度找了找具体操作方式。

百度说传统的一些设置,都是在本地设置限制下载速度,如果是需要限制别人从你网站中下载的速度,则要用到 Rewrite 规则。

什么是 Rewrite 规则?

Rewrite 是一种服务器的重写技术,主要的功能就是实现 URL 的跳转,它的正则表达式是基于 Perl 语言。可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式。

如果要想用到 Rewrite 模块,必须先安装或加载 Rewrite 模块。方法有两种:一种是编译 apache 的时候就直接安装 Rewrite 模块;另一种是编译 apache 时以 DSO 模式安装 apache,然后再利用源码和 apxs 来安装 Rewrite 模块。

上面两种实现方法,二狗子看得一头雾水,感觉分开来每个字都看得懂,连起来又仿佛天书。无奈的二狗子尝试求助万能的又拍云客服——薇薇小姐姐。

“接入又拍云 CDN 就可以直接使用 Rewrite 功能哦,而且可以直接在控制台进行操作,非常方便。”薇薇小姐姐淡定回答。

好家伙!不愧是二狗子最爱的又拍云,赶快来看看具体使用方法吧。

又拍云 Rewrite 功能概述

又拍云 Rewrite 功能主要是为了帮助用户简化内容分发业务逻辑,提升终端用户访问体验。特色是可以快速部署且配置简单,可极大降低业务实现成本。同时功能强大,涵盖了大部分互联网需求场景,包括:

  • 通过 URL 改写,可美化网站 URL,提升网站 SEO

  • 为了节省更多访问带宽,限制网站请求下载速度

  • 控制请求 URL 的结构、HTTP 头域等

  • 自定义源站错误页面,提升终端用户体验

  • 限制特定客户端的访问行为,合理进行访问控制

在使用时,又拍云也根据不同用户需求划分了两种不同的使用方式:

  • 通用模式:适用于没有开发基础,且对语法规则不熟悉的用户,该模式使用方便快捷。

  • 编程模式:适用于开发者,对相对通用模式来说,编程模式会更灵活,功能会更强大一些,适合对语法规则有深入了解的用户使用。

为了让通用模式满足更多用户的需求。根据使用场景的不同,又拍云为【通用模式】配备了 7 大功能:

  • 添加 HTTP 头部(包括请求头和响应头)

  • 删除 HTTP 头部(包括请求头和响应头)

  • 边缘重定向

  • URL 改写

  • 请求限速

  • 访问控制

  • 自定义错误页面

Rewrite 使用案例

看完了又拍云 Rewrite 功能的介绍,二狗子配置下载限速,具体要怎么做呢。薇薇小姐姐告诉二狗子,通用和编程两种模式下都可以实现,并且一步步亲手示范怎么操作。

通用模式:

编程模式:

这个规则表示,当访问的 URL 匹配到这个域名的时候就在文件加载 1k 后开始限速,限速值为:60k。

设置完成后二狗子马上测试了一下,设置就生效,立刻完成了限速。

薇薇还告诉二狗子,除了进行域名限速,也可以对指定类型的文件进行下载限速,比如:指定 zip 文件下载限速。

完成这个设置后,当访问的 URL 匹配到这个域名,并且符合这个后缀的文件,就开始限速。

符合限制文件的效果:

其他文件的效果:

当然了也可以进行 URL 改写,例如:当访问一个 URL 需要改写成在后面加上 !lalala 参数。

推荐阅读

这两种完全不同的JPEG加载方式,你肯定见过!

短视频时代不可忽视的幕后功臣竟然是它!

posted @ 2021-08-31 15:09  又拍云  阅读(26)  评论(0编辑  收藏  举报