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

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

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

非VIP用户下载限速,原来是这么实现的的更多相关文章

  1. 百度云管家 5.3.6 VIP破解不限速版下载分享|百度云管家破解提速

    百度云管家PC客户端v5.3.6绿色版本,属于VIP破解不限速版.百度网盘为您提供文件的网络备份.同步和分享服务.空间大.速度快.安全稳固,支持教育网加速,支持手机端.它支持便捷地查看.上传.下载云端 ...

  2. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  3. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  4. 非root用户搭建hadoop伪分布式

    0.安装软件列表 jdk-7u25-linux-x64.tar.gz hadoop-2.5.0.tar.gz hadoop-native-64-2.5.0.tar   1.准备Linux环境(root ...

  5. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  6. MHA非root用户搭建测试

    最近一直在瞎搬砖,最大的感触是运维工作难做.不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢 ...

  7. zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

  8. zzw原创_非root用户下安装nginx

    想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...

  9. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  10. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

随机推荐

  1. 🔥🔥Java开发者的Python快速进修指南:控制之if-else和循环技巧

    简单介绍 在我们今天的学习中,让我们简要了解一下Python的控制流程.考虑到我们作为有着丰富Java开发经验的程序员,我们将跳过一些基础概念,如变量和数据类型.如果遇到不熟悉的内容,可以随时查阅文档 ...

  2. ArmSoM-W3应用开发之安装docker

    1. 简介 RK3588从入门到精通系列专题 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker ...

  3. keil 4 安装教程

    一.下载 keil 官网 二.安装教程 1.开始安装 双击安装包,开始安装,直接下一步. 2.勾选同意,下一步 3.选择软件安装路径,下一步 4.填写信息 可以随意填写,下一步. 5.等待安装 6.安 ...

  4. skywalking自定义插件开发

    skywalking是使用字节码操作技术和AOP概念拦截Java类方法的方式来追踪链路的,由于skywalking已经打包了字节码操作技术和链路追踪的上下文传播,因此只需定义拦截点即可. 这里以sky ...

  5. Fragment动态添加与管理

    activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  6. SLR(1)分析法

    由于LR(0)的能力实在是太弱了.例如: I = { X=>α·bβ, A=>α·, B=>α· } 这时候就存在两个冲突. 1.移进和规约的冲突: 2.规约和规约的冲突. SLR( ...

  7. Golang实现JAVA虚拟机-运行时数据区

    原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一.运行时数据区概述 JVM学习: JVM-运行时数据 ...

  8. 解决 VM with version 2.1.0 has multidex support ; VM has multidex support, MultiDex support library is disabled.问题

    发布打包完之后,android studio提示 VM with version 2.1.0 has multidex support I/MultiDex: installI/MultiDex: V ...

  9. Python——第四章:迭代器(Iterators)

    迭代器iterator: 提到迭代器,最典型的就是for循环 for 变量 in 可迭代: pass 可迭代对象iterable: 是指可以使用 for 循环进行遍历的对象.除了字符串 (str).列 ...

  10. python异步编程之asyncio高阶API

    asyncio 高阶API列表 asyncio中函数可以分为高阶函数和低阶函数.低阶函数用于调用事件循环.linux 套接字.信号等更底层的功能,高阶函数是屏蔽了更多底层细节的任务并发,任务执行函数. ...