CDN的那些事

news2024/11/24 16:56:21

CDN的那些事

    • 一、前言
    • 二、基础配置
    • 三、访问控制
    • 四、缓存配置
    • 五、HTTPS配置
    • 六、高级配置(最重点来了)
    • 七、结语

一、前言

大家好,我是尝试中成长的站长,前段时间,群友的cdn被刷爆了,这就引起了我的恐慌,我大概接入了3个域名和一个cos,要刷的话,可能会倾家荡产,国内的cdn比较便宜但是没有防护,国外的就比较贵,节点少,开了等于没开,但是他们是有防护的,盗刷应该不会这么严重,腾讯云其实也有一个类似的功能产品,scdn,有个问题,太贵啦,当时年少不懂事,测试给我花了30块,应该可以想象价格的高昂了吧。这次针对cdn的某些设置进行了一点点的优化,至少在你的网站被cc或者ddos时,自动关闭cdn,避免高昂的费用。

二、基础配置

一般大部分人都会选择根域名直接接入,然而这个在很多产商是不允许的(goddady,Google domain等等),涉及网络制定的规范问题(搜索dns解析cname为何不能直接接入根域名),不过也提供了一些替代性方案,dnspod是支持直接接入的,推测可能是采用替代性方案实现的,如果不支持,最简单的方案就是接入www子域名。

cdn配置一句话描述就是,添加域名产生cname记录,dns上面添加一条cdn cname记录到该域名上,申请ssl证书,添加到cdn上,等待cdn生效,cdn配置完毕。

  • 加速区域:不说了,如果你认为你的主要客户是国外可以选择国外结点,不过这会导致一个问题,你需要清楚主要分布的区域并购买流量包,不然按需流量计费是比较贵的,cdn会帮你选择最佳结点,若你购买的套餐没有包括这个结点,你需要额外付费。所以保险起见还是选择国内比较好一点。

  • 加速域名:国内的厂商必须备案才行,所以没有备案的朋友看到这里就可以结束了。

  • cname:自动创建的,作为cname记录值

  • 加速类型:应该是对不同类型的文件进行了优化,一般情况下选择网页小文件就ok

  • ipv6访问:根据实际需求开启或者关闭,不过值得一提的就是,如果开启的话,就不能添加区域黑名单或者白名单了(根据ipv4地址进行限制)

接下来配置一下源站

一般情况下就是配置自有源即可,回源协议我是习惯选择https(和源站有关),这里补充一点,我们访问网站本质上就是协议+IP地址+端口访问的,请务必确保源站可以通过这种方式访问,否则cdn也是无法访问的。

三、访问控制

稍微配置一下可以减少一些cc和ddos的攻击,主要是对ip和流量进行控制

  • 防盗链设置

    加白比较容易,黑名单可能太多了,我自己是加了一些例如百度和必应谷歌等搜索引擎的域名进去,还有一些自己的友链啥的。

  • ip黑白名单

    这个一般是加黑,比如某台攻击你的机器,如果只是自己用的话也可以加白。

  • ip访问qps

    即控制每秒的请求数,一般情况下是不会有啥问题的,当然你的网站如果很大的话这个访问阈值就要调整了

  • 高级配置

    这个配置比较复杂暂时没有尝试过,总之就是更安全了。

  • 下行限速配置

    即获取资源的速度,一般情况下只有css,js,html等文件,几百k就行,也可以根据实际情况更改,比如站点有比较多的音乐资源啥的,可以一定程度上减少ddos时的损失。

  • 境内访问端口

    一般情况下80和443就行了,如果时采用8080端口访问可以开启(注意这里为cdn服务器上的,自己服务器的配置无效,看上去只能支持这三种端口,有兴趣的朋友可以试试其他端口)

  • 区域访问控制

    仅能控制ipv4的ip,设置区域白名单和黑名单达到控制的效果。(目前免费,不排除后面收费)

  • 远程鉴权

    即使用自己的服务器完成鉴权操作,需要自己写代码(比较复杂,企业级的网站可能有这个需求)。

四、缓存配置

  • 缓存键规则配置(默认就行,跳过)

  • 节点缓存过期配置

    这个根据个人喜好配置,同时也决定着回源的频率,还有你的更新频率决定,我一般是一周更新一次,也可以写完强制更新

    在域名管理那边找到强制更新的选项,需要五分钟左右进行同步(有点慢,其实是结点比较多可以理解)。

  • 浏览器缓存

    浏览器一般也会进行缓存的,这里配置的图片缓存策略,比如正在看这篇文章的朋友多次打开浏览器,不需要重复加载多次内容。

  • 状态码缓存(不知道啥作用,跳过)

  • http头部缓存(开启就完事了)

  • 访问URL重写

    类似伪静态或者起到防盗的作用,太麻烦了,跳过。

  • 合并回源

    类似主从从模式的回源,降低源站的压力

  • 分片回源(一般是大文件才需要开启的,我们这里跳过)

  • 回源HTTP请求头配置(默认就行)

  • 回源跟随301/302配置(我这里是开启,提高用户的体验,减少一次重定向)

  • 回源超时和url重写

    目前站点还是挺快的,根据自己的需求配置

  • 回源SNI配置

    我的是小站绑定了好多个域名,所以需要开启这个设置,不会导致串站的情况。

五、HTTPS配置

  • https服务(目前收费,不过是每个月300w次以上收费,一般个人博客达不到这个量)

  • https配置(这里配置证书)

  • HTTP 2.0配置(开启就行)

  • 强制跳转

    这个务必要开启,有个小锁会安心一点

  • HSTS配置和TLS版本配置

    我的配置是这个,开就完事了,不懂可以搜索一下

  • OCSP装订配置(开启就完事了)

六、高级配置(最重点来了)

看之前务必看完腾讯云的这篇简介预防高额账单

  • 自定义错误页面配置(可以不配置,只是会影响体验,建议配置成自己独有的404界面或者首页)

  • 用量封顶配置

    其实这个配置挺大了,平时一个月只有2g的用量,但还是以防万一,即时关闭cdn和加ip黑名单。

  • SEO配置(开就完事了)

  • HTTP响应头配置(没看懂,默认就行)

  • 智能压缩

    可以参考如下配置,主要是针对静态文件的配置

  • 离线缓存

    主站服务器宕机时保证,cdn还可以用,不过对于动态网站而言这个比较鸡肋,数据都是存数据库的,数据库一般在主站,所以主站服务器宕机,这个网站基本上也是不可用,可开可不开。(曾经开过,然后被缓存心态搞崩了,所以关了)

  • POST请求大小配置

    即上传数据之类的请求,可以根据自己的网站进行调整。

七、结语

之前在非主流论坛里面出现的各种盗刷,好多坛友都对国内cdn失去了信心,其实无论是从哪种角度,国内的cdn都是非常不错的,相信会越来越好的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读书笔记:神经网络加法层与乘法层的实现及应用 buy_apple_orange.py ← 斋藤康毅

“层”是神经网络中功能的单位。通常把神经网络的“层”实现为一个类。“层”的实现中有两个共通的方法 forward() 和 backward()。forward() 对应正向传播,backward() 对应反向传播。加法结点的反向传播将上游的值原封不动地输出到下游,乘法结点的反向传…

第2章:使用CSS定义样式

在前一章中,我们研究了Java代码的不同片段。 在本章中,我们将对每个示例使用相同的代码段: public void createPdf(String html, String dest) throws IOException {HtmlConverter.convertToPdf(html, new FileOutputStream(dest)); } 我们不看Java代码的不同片段,而是看…

数据分析-深度学习Pytorch Day13

单层感知机和多层感知机(MLP)是最基础的神经网络结构。将卷积操作创新的加入到神经网络结构形成了卷积神经网络,卷积神经网络给现代人工智能注入了活力。感知机网络和卷积网络(CNN)都属于前馈型网络(FeedForward Network)。单层感知机是二分类的线性分类模型&#x…

MT1010-M1016(java版)

MT1010输入和输出字符型数据难度:青铜0时间限制:1秒巴占用内存:64M★收藏△报错请编写一个简单程序,用户输入2个的字符型数据存储在变量中,并分别以字符形式和整数形式输出在屏幕上。格式输入格式:2个的字符…

Go语言DDD实战初级篇

导读 领域驱动设计(DDD)最简洁的描述可能是:如何在明确的限界上下文中创建通用语言的模型。通过 DDD思想设计开发的软件,在领域专家、开发者和软件本身之间不存在“翻译”,三者通过在限界上下文下的通用语言直接表示。而这个系列则是我们团队…

交换机——VLAN原理和基本配置

VLAN原理和配置VLAN的三种端口类型Access:接入链路类型(一般使用:交换机与PC)Trunk:干道链路类型(一般使用:交换机与交换机)Hybrid在这里,我们只使用和讲解Access和Trunk…

HTML简介

目录 一、HTML基础知识 二、HTML常见标签 注释标签 标题标签 段落标签 常用的转义字符 换行标签 格式化标签 图片标签 超链接标签 表格标签 列表标签 input标签 文本框 密码框 单选框 复选框 普通按钮 选择文件 下拉标签 多行文本输入 无语…

【哈希表】leetcode454.四数相加II(C/C++/Java/Python/Js)

leetcode454.四数相加II1 题目2 思路3 代码3.1 C版本3.2 C版本3.3 Java版本3.4 Python版本3.5 JavaScript版本4 总结需要哈希的地方都能找到map的身影 1 题目 题源链接 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少…

C中线程信号控制

一、场景介绍存在三个线程,一个主线程和两个子线程(子线程数量不固定)。为了节省频繁创建销毁线程造成的资源浪费,将这些线程设置为常驻线程。但这样引入了一个新的问题,如何协调这些线程完成工作。主线程内是循环检测…

Webgl实现的天气效果(下雨、下雪)

一、下雨效果如图: 还有一种雨水效果也不错 114 Three.js实现深度遮挡的下雨特效 | 暮志未晚-中文案例网 二、下雪的效果 57 Three.js 使用粒子实现下雪特效 | 暮志未晚-中文案例网 还有一种是通过网页CSS的形式做的2D雪效果 集合在一起的源码: https…

编译原理学习笔记17——语义分析和中间代码生成2

编译原理学习笔记17——语义分析和中间代码生成217.1 赋值语句的翻译17.2数组元素引用的翻译17.3 类型转换17.1 赋值语句的翻译 简单算术表达式及赋值语句 赋值语句生成三地址代码的S-属性文法 赋值语句生成三地址代码的S-属性文法 产生赋值语句三地址代码的翻译模式 产…

你真的了解工厂设计模式吗?(简单工厂模式+工厂方法模式+抽象工厂模式)

工厂解决的问题 客户端在调用是不想判断实例化哪一个类或者实例化的过程过于复杂。在工厂模式中,具体的实现类创建过程对客户端是透明的,客户端不决定具体实例化哪一个类,而是交由“工厂”来实例化。 简单工厂模式 类图 简单工厂模式由三类…

Git GitHub纯新手入门教程

参考视频:Github 新手够用指南 | 全程演示&个人找项目技巧放送_哔哩哔哩_bilibili40 分钟学会 Git | 日常开发全程大放送&个搭配GitHub_哔哩哔哩_bilibiliGit和GitHub分别是什么Git是一个运行在电脑上的版本控制软件(保存代码各个阶段历史记录的…

在使用定时器过程中存在的那些陷阱

在使用定时器的过程中,如果你不了解定时器的一些细节,那么很有可能掉进定时器的一些陷阱里,函数 setTimeout 在时效性上面有很多先天的不足,所以对于一些时间精度要求比较高的需求,应该有针对性地采取一些其他的方案 …

【回眸】牛客网刷刷刷(四)软件工程(续)ZooKeeper字符串链表(专题)

前言 本篇博客为笔者刷客观笔试题时做的一些记录以供以后复习时翻阅,如果能够帮到您是最大的荣幸!如果能给笔者一个三连将感激不尽! 知识点串烧 软件工程专题(续上篇) 有一些可维护特性是相互促进的,如…

【技术美术图形部分】PBR Disney原则的BRDF 次表面散射模型

写在前面 补充去年遗漏下的知识。很多叙述都是参考了众多大佬的文章!因为是作为个人学习总结的博客,所以直接卑微的借鉴过来了,后面会给出所有参考的文章。 另外,放上一个忘了在哪一篇知乎评论里的截图: 说的蛮好。 …

MySQL基础篇笔记

文章目录导入表的问题第3章_最基本的SELECT语句1. SQL语言的规则和规范1) 基本规则2) SQL大小写规范(建议遵守)3) 注释4) 命名规则2. 基本的SELECT语句1) SELECT ... FROM2) 列的别名3) 去除重复行4) 空值参与运算5) 着重号 6) 查询常数3. 显示表结构4. …

贪心算法(基础)

目录 一、什么是贪心? (一)以教室调度问题为例 1. 问题 2. 具体做法如下 3. 因此将在这间教室上如下三堂课 4. 结论 (二)贪心算法介绍 1. 贪心算法一般解题步骤 二、最优装载问题 (一&#xf…

智能驾驶 车牌检测和识别(四)《Android实现车牌检测和识别(可实时车牌识别)》

智能驾驶 车牌检测和识别(四)《Android实现车牌检测和识别(可实时车牌识别)》 目录 智能驾驶 车牌检测和识别(四)《Android实现车牌检测和识别(可实时车牌识别)》 1. 前言 2. 车…

SLAM数学知识回顾

文章目录1、三角函数2、向量运算(1)负向量(2)向量的模(3)标量与向量的运算(4)标准化向量(5)向量的加法和减法(6)距离公式(…