今天听到一个朋友说自己的网站被DDos攻击了,说实话我不太懂什么是网络攻击,但是我在几年前貌似也遭受过类似的网络攻击,这也成为我后来更换静态博客的主要原因。但是最近我又换回用博客内容管理系统管理博客,于是我就在网络中搜索如何才能躲避这一类网络攻击。
很多网络攻击都是通过域名解析反查找到网站服务器的真实IP,而CDN则是先将域名通过CNAME解析到CDN,然后CDN再绑定源站IP,这样一来服务器的真实IP就得以隐藏,通过域名解析的地址就是CDN加速节点的IP。
网站使用CDN(内容分发网络)的好处如下:
- 加速网站访问速度:CDN通过将网站的内容分发到全球分布的边缘服务器,使用户可以从离他们最近的服务器获取内容,从而减少了传输延迟和加载时间,大大加快了网站的访问速度。
- 提升用户体验:快速加载的网页和流畅的媒体内容可以提供更好的用户体验,减少了等待时间和加载中断的可能性,让用户更愿意停留在网站上浏览。
- 处理高流量负载:CDN通过分散流量到不同的服务器,帮助网站应对突发的高流量负载,防止网站因为大量请求而崩溃或变得缓慢。
- 节省带宽成本:CDN可以减少源服务器的负载,通过缓存和智能路由来处理请求,从而节省了带宽成本。
- 提高全球可用性:CDN的全球分布式网络意味着即使在某个服务器出现故障或网络中断的情况下,仍然可以从其他服务器获取内容,提高了网站的可用性和稳定性。
- 抵御网络攻击:CDN可以提供基本的安全层,帮助抵御分布式拒绝服务(DDoS)攻击和恶意请求,保护网站免受网络安全威胁。
因此,我也将慧行说博客添加了CDN加速服务。在选择加速服务厂商的时候,我看到了很多站长也都有用又拍云的CDN,于是我也选择了这一厂商,与其它厂商相比,又拍云支持https的加速,如果通过又拍云联盟则可以每月获得免费10G的CDN流量,对于小博客来说,非常足够了。
准备工作
- 申请好又拍云账号,并完成认证;
- 已备案的域名(一定要在中国大陆完成备案);
- SSL证书(非必须);
创建CDN服务
- 登录又拍云,创建CDN服务,见下图。
- 创建完成之后,会生成CNAME,需要在你的域名服务器中将CNAME解析到这个值上面。
CNAME配置
- 打开域名后台,进行域名解析,见下图:
记录类型:CNAME
主机记录:@
记录值:又拍云后台CNAME的值
解析完成之后等待10分钟左右即可生效,可通过ping
域名的方法来测试是否生效。
~/ ping liuyude.com
PING nm.aicdn.com (65.139.12.221): 56 data bytes
64 bytes from 61.126.65.72: icmp_seq=0 ttl=52 time=40.883 ms
64 bytes from 61.126.65.72: icmp_seq=1 ttl=52 time=43.103 ms
64 bytes from 61.126.65.72: icmp_seq=2 ttl=52 time=42.829 ms
64 bytes from 61.126.65.72: icmp_seq=3 ttl=52 time=41.953 ms
当ping之后没有返回服务器IP,而是返回CDN的地址时,说明加速已生效。
配置CDN
HTTPS配置
- 将准备好的SSL证书的key与pem证书准备好,在CND配置页面的HTTPS中将证书添加进去,同时开启强制HTTPS,这一步如果之前是用宝塔配置的,记得在宝塔关闭强制HTTPS,否则会提示重定向次数过多。
- 添加好HTTPS证书之后,访问加速后的主域名,网站就已经可以正常访问了。接下来配置性能优化,将页面压缩打开,然后在访问控制中打开CC防护,成本控制中的WebP自适应,我暂时就开启了这些,其实配置项很多,可以再自行决定是否开启。
配置完成之后我也发现了一些问题,比如缓存之类的,不过这些大概率都是CDN配置的问题,多鼓捣下就好了。
参考资料
评论区