这是一个创建于 2951 天前的主题,其中的信息可能已经有所发展或是发生改变。
写的不好,想到什么写什么。
用过 CDN 的站长都很纳闷,为什么人家大型网站用了 CDN 什么事情都没有,我用 CDN 特别喜欢出状况,是不是 CDN 存在三六九等。
作为 CDN+WAF 的从业人员,针对很多客户存在的问题,我简单的统计了一下,大致可以有以下情况会导致 CDN 效果不明显:
1.网站代码设计不规范;
2.服务器没有设置白名单,导致 IP 地址暴露在公网上;
3.不合理的解析。
既然产生了问题,就要进行分析,然后将问题进行解决。
首先我们看第一个,网站代码设计不规范。
这个问题导致 CDN 效果不明显,发生概率在 55%以上(单方面数据, CDN 大拿可以提供更准确的数据)。 Web 应用防火墙,俗称 WAF ,会对 http 请求进行分析,确认是否符合规范。 WAF 将合规的请求跳转到源站,将不合理的请求阻断。当然这也不能说单方面是用户的问题, WAF 服务商本身其实具有很多年的网络安全经验,但具体情况具体分析,不能说没有误伤。只能根据需求慢慢优化防御规则。目前容易触发误伤的有 XSS 、 SQL 注入两大类安全规则。所以 CDN 服务商本身其实也要做到优化规则。
另外,网站代码设计不规范,使得网站提交产生的报文不规范也会造成误伤。
这个系列的问题其实没有统一的解决方案,只能根据自身网站需求进行个性化操作。建议站长在网站上 CDN 之前可以先在本地进行 hosts 测试,如果产生拦截了,可以与 CDN 服务商进行联系查询具体触发的规则,然后针对性进行优化调整。
第二个问题,服务器没有设置白名单,导致 IP 地址暴露在公网上。
这个问题发生的概率比较大,本人受理的用户咨询里, 75%以上都是这类问题。原因其实也很简单,作为网络安全的考虑,各种防火墙都上了,但不愿意改动防火墙的设置。各种搜索引擎爬虫抓取失败其实本质上也是这个问题。
解决方案很简单, Web 服务器设置 80 端口白名单,并且只允许 CDN 节点 IP 通过,其他公网 IP 地址一律不放行,网络防护规则到节点层进行设计即可。
第三个问题,不合理的解析。
如果仅从用户和 CDN 服务商两者的角度来看,这个可以说 100%是 CDN 服务商的锅。鉴于国内特殊的网络互联互通环境,这在根本上提高了 CDN 的投资成本。这个目前也没有一个可以根治的解决方案,只能每天更新一次 IP 库,在 DNS 上针对性做调整。
以上仅为本人到目前为止的一点见解,不足之处敬请指正或补充。