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

摘要:
二锅子的小网站,只要是注册用户,就可以无限速度下载草图。因此,一位小伙伴建议,应该建立一个VIP服务,让VIP以全速下载,免费用户应该稍微限制速度。它的特点是部署快速,配置简单,可以大大降低业务实施成本。设置完成后,二古子立即对其进行了测试,设置生效,限速立即完成。薇薇还告诉二锅子,除了域名速度限制,还可以限制指定类型文件的下载速度,例如指定的zip文件下载速度限制。

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

二狗子的小网站,只要是注册用户就可以无限速下载素描稿。这原本是一件好事,但随着访问量的增多,带宽成本成为了二狗子不可承受之重。于是就有小伙伴建议做一个 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 改写

  • 请求限速

  • 访问控制

  • 自定义错误页面

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

Rewrite 使用案例

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

通用模式:
非VIP用户下载限速,原来是这么实现的第2张

编程模式:

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

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

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

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

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

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

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

符合限制文件的效果:

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

其他文件的效果:

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

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

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

推荐阅读

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

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

免责声明:文章转载自《非VIP用户下载限速,原来是这么实现的》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql-connector-java与Mysql、Java的对应版本[C] c99int(让VC等编译器自动兼容C99的整数类型)V1.02。源码托管到github、添加CMake编译配置文件、使用doxygen规范注释下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

前端JS下载文件总结

Data URLs         Data URLs: 即前缀为data: 协议的URL,其允许内容创建者向文档中嵌入小文件。   例如:可以直接在HTML中的img元素直接使用Data URLs ; data:[<mediatype>][;base64],<data> mediatype: 是个 MIME 类型的字符串,例如...

js正则表达式 URL格式匹配详解

0、URL格式 protocol :// hostname[:port] / path / [;parameters][?query]#fragment [;parameters]没见过 这里就不做相关匹配了 1、代码及运行结果 'use strict'; { // URL地址匹配格式: protocol :// hostname[:port...

xxl-job编写GULE(Java)运行模式,带执行参数(url)

packagecom.xxl.job.service.handler; importcom.xxl.job.core.log.XxlJobLogger; importcom.xxl.job.core.biz.model.ReturnT; importcom.xxl.job.core.handler.IJobHandler; public class q...

企业微信第三方应用开发几个注意点

不知不觉已经搞企业微信开发2年了,公司的产品(慧人力,云报餐)目前和同行比起来算是功能比较齐全的了,平时重心主要在业务上,没有对企业微信授权流程进行笔记整理。关于企业微信API,新手看有点迷糊,如果有人讲一遍就会好很多,下面把第三方应用开发中几个不好理解的地方分享下。 1、服务商平台,创建一个非通讯录应用 应用主页指的是手机端登录后访问的第一个页面,...

.net Core 调用微信Jsapi接口,H5解析二维码

项目里需要用到扫描二维码,自己实现,不会。 找到了两种解决方案: 通过reqrcode.js,这是一个前端解析二维码内容的js库。如果二维码比较清晰,用这种效果也不错 调用微信扫一扫功能,这种效果很好。但是调试接口超级麻烦。 具体实现:前端代码(vue)(前端用到 vux) <template> <div class="main"&g...

IDEA连接SQL Server

package ServletDemo; import java.sql.*; public class Datebase { public static void main(String[] args) throws ClassNotFoundException, SQLException { //加载驱动 C...