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

二狗子的小网站,只要是注册用户就可以无限速下载素描稿。这原本是一件好事,但随着访问量的增多,带宽成本成为了二狗子不可承受之重。于是就有小伙伴建议做一个 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. 神经网络入门篇:神经网络的梯度下降(Gradient descent for neural networks)

    神经网络的梯度下降 在这篇博客中,讲的是实现反向传播或者说梯度下降算法的方程组 单隐层神经网络会有\(W^{[1]}\),\(b^{[1]}\),\(W^{[2]}\),\(b^{[2]}\)这些参数 ...

  2. 如何通过C++ 给PDF文档添加文字水印

    因PDF文档具有较好的稳定性和兼容性,现在越来越多的合同.研究论文.报告等都采用PDF格式.为了进一步保护这些重要文档内容免受未经授权的复制或使用,我们可以添加水印以表明其状态.所有权或用途.针对工作 ...

  3. 做数据分析,我们需要懂多少excel知识?

    数据分析所需的Excel知识详解 在进行数据分析工作时,Excel是一个非常常用且强大的数据处理工具.以下是数据分析中常用的Excel知识点和技巧的详细描述. 1. 基本操作 在使用Excel进行数据 ...

  4. uni-app全局样式和局部样式

    前言 好,经过上个章节的介绍完毕之后,了解了一下 UniApp 的一个全局 页面配置文件,也就是我们的一个 pages.json 文件. 那么了解完了这个文件之后,这片文章,再了解一下 UniApp ...

  5. springBoot——多环境开发

    不常用的application.properties版的 常用的:application.yml版 #多环境开发,设置启用环境 spring: profiles: active: test --- # ...

  6. Url参数解析组装工具类

    import org.apache.commons.lang3.StringUtils; import java.util.HashMap; import java.util.Map; /** * @ ...

  7. C++ Qt开发:自定义Dialog对话框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍自定义Dial ...

  8. 【笔记整理】[案例]使用正则表达式来提取36Kr新闻

    import datetime import json import re import requests class Kr36(object): def __init__(self): self.u ...

  9. 印能捷添加了加密进程导出的pdf文件不加密(rename的类型未添加)

    解决方法:用procmon监控下图的所有文件事件,查找rename的类型,然后右键SetRenameInfo点击Include,将查出来的类型添加到加密后缀中,如下图是一个无后缀的类型需要添加\NOE ...

  10. 马某 说c# 不开源,他是蠢还是坏?

    马某在视频 计算机主流开发语言的现状和未来3-5年的发展前景--Java.Golang.Python.C\C#\C++.JS.前端.AI.大数据.测试.运维.网络安全 点评各种语言,其中说到C# 的时 ...