前言
我们都知道,Cloudflare,互联网公司中的大善人,提供了很多免费功能,例如免费的cdn,静态网站托管等功能,今天我就来教大家怎么用cloudflare的cdn免费为你的网站"加速"并获得免费的防御功能
准备工作
- 一个域名
- 一个搭建在公网的网站,可以是ipv4,也可以是ipv6
- cloudflare账号
实战
首先访问cloudflare 控制面板,并登录你的账号
然后向里面添加一个域名,计划往下找,选免费,然后在注册商那边更改名称服务器(NameServer)为cloudflare上面显示的,切记不要抄其他人的,每个人显示的NameServer地址都不一样,等待状态显示活动就可以了
什么?没有域名?来注册个免费的us.kg后缀域名罢,访问这里
然后我们在DNS添加一条记录,可以是A,AAAA,CNAME类型,记得把代理状态打开,这样流量就都会从cloudflare经过了
如果你的公网的服务器有暴露80/443端口,那么恭喜你,cdn已经生效了,可以尝试直接访问这个域名
如果像我这样,使用ipv6,并且我这里ipv6封的端口也挺多的,其中就包括80,443端口,那么你还需要继续配置才能使用cloudflare的cdn服务
接下来,左侧找到规则-概述,点击创建规则,然后选择产品,找到Origin Rules,然后写一个规则名称,可以随便写,然后你可以选择"自定义筛选表达式"或者"所有传入请求",我这里就选择"自定义筛选表达式"了,字段选择URI完整,运算符选择通配符,值写成了类似于 https://example.com/* 的格式,但是可能会有http请求,我这里又加了一个"Or",字段和运算符一样,只不过值写成了类似于 http://example.com/* 的格式,下面的主机标头、服务器名称指示(SNI)、DNS记录,免费版是无法改变的,主要看目标端口,选择"重写到",端口填你的web服务的端口(http协议的),点击部署,那么你就可以尝试访问域名了,理论上cdn也生效了
Q/A
接下来,可能会有一些问题需要解答
cloudflare不是著名的"减速器"吗?搞的我网站都变慢了,为什么还要用他?
免费的防御,不要白不要。 如果想提高速度,其实还有个神奇的玩意,叫线路优选,但是并不在本文章的探讨范围内
重写端口用https协议的可以吗
应该不可以,因为我这边测试是不可以的,会出现"http code 400,使用http访问https端口"错误,但是我觉得使用http会比https更快一点,因为加密解密也会消耗一点时间