前置条件
域名需备案
国内所有域名需要备案,如果使用的服务商不是备案的服务商还要进行接入备案。
域名解析好
基础配置
1.基本信息
基本信息是在创建cdn时已经设置过的,根据实际情况填写。
2.源站信息
源站的意思是如果缓存不存在,要去哪里找回数据!
这里的源站不能使用加速的域名(会出现死循环)。
为了方便,直接写服务的ip+443端口即可,或者再申请一个域名,这个域名指向源服务器所在ip。
如果有多个源站,也可以分配权重,进行负载均衡。比如1台云服务器10M带宽,另外一台5M带宽,可以分配2:1的权重。
访问控制
1.防盗链配置
放盗链不能防止别人获取信息,只能阻止那些用你的资源显示别人网页的行为。
(常见的有链接盗图,图片流量从你这走,但是是别人的网页)
建议使用白名单模式,允许空referer访问
(如果不允许空referer访问,无法输入url地址访问,会直接返回403)
注意,如果你的应用需要调用外部的服务进行跳转,把这个外部服务的网址也加进来,否则无法跳转
我这里有*.qq.com,意味着所有qq.com域名下的都允许(无论二级还是三级域名),比如你要用qq或微信进行登录你的网站应用。
2.IP黑白名单配置(默认无需配置)
有如下情况需要配置,包括但不限于:
(1) 受到指定ip的攻击,加入黑名单
(2) 只允许白名单内的ip使用
3.IP访问限频配置
推荐开启,根据应用类型配置,如果不知道设置qps多少,可以使用50。然后后台统计大多数人具体的访问量,来进行调整即可
如果设置过小,影响正常使用,如果过大,这个值设置就没有意义了
4.鉴权配置(根据需要配置)
鉴权配置的意义在于,可以后端控制用户获取静态资源,即使用户知道文件位置,如果鉴权不通过,也无法从cdn获取。根据需要配置。有多种鉴权方式,一种是用算法时间鉴权,类似jwt,一种是转发到你的服务器进行验证(至于怎么验证则是后端的设计了)
5.UA黑白名单配置
添加对指定请求头的控制,通常是君子协议,因为请求头可以改。
(但是大多数普通用户不会改的,所以还是过滤小白的操作)
6.下行限速配置
根据你的应用实际情况配置,为了限制具体的某个文件用户获取的速度。
通常用于高流量的场景,可以不配置,等需要了再配置。
7.访问端口配置
保持默认,开启80和443
8.区域访问控制插件
建议开启,如果只面向国内用户,建议开启只允许国内ip访问
9.远程鉴权
需要自己搭建鉴权的服务器,有需要配置(需要后端开发支持),如果不熟悉,直接默认不开启。
缓存配置
1.缓存键规则配置
建议比如html这种url后面需要后面加参数的进行忽略
参考设置如下
2.节点缓存过期配置
重点配置区域
(1) 首先把api的目录设定为不缓存
(2) html,css,js这种建议不要超过2小时
(3) php,jsp这种不缓存(因为是后端生成的)
3.浏览器缓存过期配置
保持默认即可,需要前端开发时去做,建议保持默认或者根据需要。
4.状态码缓存
保持默认404,如果需要返回别的状态,根据需要调整。
5.HTTP头部缓存配置
建议开启,方便开发和应用
6.访问URL重写配置
重写url可以在cdn配置,也可以在服务器入口处配置,根据需要配置。
我的做法通常是不在cdn配置,即这里是无规则的。
回源配置
1.合并回源配置
建议开启即可
2.分片回源配置
通常不建议开启,容易出小问题
3.回源HTTP请求头配置
重点配置
强烈建议开启,增加X-Forward-Port请求头获取真实ip
原因是将ip写入请求头,就不用专门把ip一层层传递了,后端直接就可以从请求头获取。
4.回源跟随301/302配置
建议开启,简单说就是你的外链也进行缓存
5.回源超时配置
保持默认配置
6.回源URL重写配置
根据情况,一般情况默认即可。
这个配置同样可以在后端服务器配置,我的习惯是在后端服务器配置。
把除了必须暴露外部的目录之外的其它全部屏蔽并指向404(后端的结构很重要)
7.回源SNI配置
保持默认关闭
只有在一个ip绑定了多个域名时才需要配置
注:一个ip绑定多个域名要额外加入反向代理或路由才能实现
https配置
https是重点配置区域,稍有不慎就会无法访问,建议一定要用https
1.HTTPS服务
重点配置
强烈建议开启,不建议使用http,建议全部https
2.HTTPS配置
重点配置
务必上传域名的证书(https证书),否则会提示中间人攻击,直接无法访问
注意:需要手动将https证书(ssl)的公钥和私钥内容复制到如下指定位置,自己生成的不行
3.HTTP 2.0配置
开启
4.强制跳转
建议开启,通常情况下,后端的服务器应该也增加跳转或者直接关闭http的访问(只允许https)、
http->https,302,不携带头部
(选择不携带头部,如果正常请求都是https,用http访问显然是为了试探)
5.HSTS配置
建议保持默认关闭
6.TLS版本配置
保持默认
7.OCSP装订配置
建议开启
8.QUIC
保持默认关闭,有需要也可以额外付费用
高级配置
1.自定义错误页面配置
如果请求不到资源返回的页面,可以不配置,或者指向404
2.用量封顶配置(重要)
如果网站不是非常重要,又怕被攻击导致高额账单,这个是保底。
可以设定一段时间内最大用量,同时到达时进行提前预警。
3.SEO配置
默认开启即可
4.HTTP响应头配置
通常不需要配置。
使得每个通过cdn的都会返回给客户端的http响应头的内容
5.智能压缩
开启即可。
6.离线缓存配置
开启即可。
开启后如果源站故障,这个也能显示,不过这个实际作用不是很大,除非是内容型网站,很少和后端交互。
7.POST请求大小配置
默认为1M(nginx的默认也是1M)
建议不要动,请求通常不会超过1M,如果是post上传大文件,建议分段后上传。
文章作者:ziqibit