如今的网站项目中,我们在选择的主机机房节点当然前提是要考虑到用户的访问速度和稳定性。但是,由于各地区、各个不同网络区域访问的速率的特点,可能会存在不同的网络延迟等稳定性的区别。于是,我们较为通用的做法就是在网站前端添加使用CDN加速。于是,我们也可以看到各大云服务商有提供的CDN加速,或者有叫作CDN内容分发的产品。
在使用第三方CDN加速分发产品的时候,一般都不会有防御功能,还需要在加速的同时添加使用防御能力。除了我们云服务器有防御能力之外,在CDN前端如果有防御过滤能力,可以在一定程度上减缓对于项目的安全影响。我们常规的做法,依旧是使用第三方的安全防御机制。当然,不可否认,使用第三方服务商成熟的CDN和防御产品,可以较为方便且快速的部署到项目中,但是也存在一定的缺陷。
比如,我们看到大部分的CDN和安全产品,都需要我们的业务域名通过ICP备案的才可以使用,以及内容有较为严格的审核。但是,我们有一些出海业务,本身域名是不用或者不需要备案的,那就无法使用这些产品。当然,还有费用的问题,第三方,尤其大厂的云服务产品,都是根据流量或者使用量套餐计费的,可能对于长期且量大使用的项目而言,会有较大的成本占用。
于是,我们较为常用的做法就是自建CDN和安全服务,当然也有很多有提供开源的架设方案。较为成熟的还是使用第三方有程度的部署CDN的服务商,在这里老左有看到99CDN服务商有提供商用的CDN服务自建服务,其中免费版本也有提供2个IP节点自定义部署。在这篇文章中,我就真实的体验和记录他们的这个产品,看看具体的部署过程,以及在过程中遇到的问题。

老左在注册账号之后,可以看到如上图的后台,有提供部署方法和授权号。在这里,我找一台服务器部署看看。我们先选择CDN安装的命令行。
curl -fsSL https://install.99cdn.com | bash
复制脚本直接贴到云服务器运行,可以看到。

看到运行的过程,还是很迅速的。

安装完毕之后,我们可以看到给出的开放端口8060,以及登陆的信息,以及如果你需要重置密码给出的命令行。如果我们云服务器有安全组设置的,需要放行对应的端口,如果你全部开放端口,那就不用设置。
根据提示,登陆"IP:8060",可以看到入口信息。

在这里,我们需要根据向导配置CDN。

我们需要配置账号邮箱和设置密码。然后我们就顺着向导登陆已经设置的账号信息,登陆后台可以看到后台长什么样子的。

初次登陆需要激活,这里拿到我们开始注册账号给出的免费CDN的授权激活即可。

既然激活完毕,那就可以看到左侧的菜单去部署业务使用。
我们可以看到左侧菜单,有支持站点管理、四层转发、节点管理、证书管理、解析管理等操作。在这里,老左使用的是免费授权计划,所以有一些功能是没有支持免费授权的。在这篇文章,我就以免费用户身份体验添加站点CDN加速看看这个通道是否畅通,以及部署的体验记录。

在解析管理菜单中,我们需要提前配置接入域名和转换域名,作为站点域名的解析跳转过渡域名。说白了,就是用于CDN和安全防御的时候的隐藏域名用途的。对于域名的添加需要提前创建DNS账号,目前支持主流的几个域名服务商,如果你需要自建DNS的,那必须企业版本才支持。
- 转换域名用于承接接入域名下的 CNAME,并通过解析记录指向对应的 CDN 节点。
- 接入域名用于生成站点和四层转发规则使用的 CNAME。

在这里,老左采用的是CF DNS服务商,然后对应添加创建的API Token绑定后可以再去设置CDN解析。
然后我们再去站点添加自己需要启用CDN的站点。

在这个过程中,会生成一个接入域名的随机解析CNAME值,我们根据值去解析。

对于我们添加应用CDN的站点,可以在右上角切换到用户视图,然后可以看到可以对站点进行基础的配置修改和安全规则设定。如上图,可以对于站点白名单和CC防护的设定。

我们如果使用过第三方CDN服务的话,这些安全防御的功能是会单独在WAF安全防御功能系统套餐的。在这里,我们通过这个自建CDN的方式,已有自带可以设定防御,包括基础的防盗链、鉴权配置、跨域访问配置等等。当然,有一些功能必须付费版本才可以开启启用到。
我们在使用的这套自建CDN服务的系统体系中。对于数据信息,安全等数据流,还有数据分析看板。

数据分析实时看板,以及日志信息,可以针对我们有效的进行安全防御的分析和调整策略。
当需要扩充 CDN 网络容量或部署新的边缘服务器时,可以在管理端中添加节点。

节点添加完成后,还需要在对应服务器上安装节点程序。点击对应新增节点后面的 安装 按钮,可以看到下图所示。

复制脚本到我们的服务器安装扩展节点。

在节点服务器部署后可以看到如图代表是安装完毕。在我们的主控服务器上面板刷新,就可以看到节点已经部署。

在节点管理中,可以对于节点有常规的缓存目录设置、内存分配额度,以及WAF配置设定等。如果我们规范使用的话,还需要对于节点进行分组和线路的细分。

到这里,我们创建的节点还不可以使用,需要到线路管理中进行绑定。将线路与区域、节点分组进行关联,为站点提供可用的节点资源。
到目前为止,我们基本的设置完毕。最后我可以到解析设置中检查看一下。

在转换域名选项后的「解析详情」点击后看到是不是有老左添加的2个自定义创建的服务器节点。因为默认的免费账号有支持添加2个节点,我用两台额外的服务器作为节点添加进来的。看到解析成功的。

然后将为演示用到的CDN接入的站点PING测试,可以看到给的是2个节点中的其中一个。当然,我用PING工具测试,会看到根据不同的区域给的是分配的添加的2个节点。出于细分线路的考虑,我们可以将不同区域和线路分组管理。

总结,老左在这篇文章中有对于99CDN服务商提供的自建CDN服务进行简单的体验。这篇文章中,我只体验到作为普通用户使用他们家免费授权账号有支持2个自定义部署节点的功能是可用的。当然,对于他们深入的CDN加速和安全的设置没有详细的体验,这个需要在实际的生产业务中去单独的设置。官方也有提供详细的文档。如果可以的话,下次有机会选择他们商业版本体验看看和免费版本的区别,包括一些设置的详细体验也会在后面文章介绍。

老左笔记


















