CDN(内容分发网络)是一种网站服务,可以让用户从周围最近的服务器上获取静态的内容(尤其是图像、视频、音频、CSS 和 JavaScript),服务器尽可能地遍布全球各地。一个 CDN 网络,说白了就是一堆会自动缓存的代理服务器。
那么,使用 CDN 有什么好处呢?首先,就是可以减少延迟。我的服务器在美国,从北京到美国的通信一次往返大约要 300ms,当我使用了 (有中国服务器的)CDN 之后,通信一次往返就只需要不到 10ms 了。除此之外,CDN 还能有效的减少下载时间,因为某些国家会控制网络流量的出口带宽,当使用了内地的服务器后,速度就能明显提升。
CDN 的工作原理
通常,你并不需要将文件上传到 CDN,你只需要将域名解析到对应的服务器。当用户访问你的网站时,就相当于访问到了这个服务器。这个服务器会检查是否有缓存,若有,那么会直接从这个缓存返回给你;如果没有,则会去从原始服务器上下载下来,然后再返回给用户。此后(再次在这个位置的)用户访问时, 就会直接从 CDN 上缓存的文件下载,速度大大提升。
访问你网站的用户越多,这个速度提升就越明显。如果大多数的请求都没有缓存,那么几乎就没有什么速度提升。除此之外,最好将 CDN 的域名放在一个没有 Cookie 的根域名下。
关于 CDN 的推荐,已经在新的一篇文章里总结概括
国内 CDN 服务推荐
[a href=”https://www.upyun.com/zh/index.html”]又拍云[/a]
又拍云是一个使用起来非常方便的 CDN 服务器,价格极低,按需付费。在国内 CDN 节点覆盖良好,并且还有实时统计等功能。同时支持绑定自定义域名,免费自定义 SSL 服务。
又拍云同时支持静态加速和动态加速两种,适合全站 CDN 加速。
国外 CDN 服务推荐
[a href=”https://www.keycdn.com/?a=7126″]KeyCDN[/a]
KeyCDN 使用起来也非常方便,节点覆盖全球,价格极低,按需付费。它也有实时的日志。同时支持绑定自定义域名,免费自定义 SSL 服务,同时提供免费的 SSL 证书(Let’s Encrypt)。KeyCDN 只支持静态资源的加速,
[a href=”https://www.cloudflare.com/”]CloudFlare[/a]
为了使用 CloudFlare,你需要更改你域名的 NS 解析提供商,仅此而已,无需其他设置。CloudFlare 默认是动态资源加速。同时提供免费的 SSL 证书(Comodo Positive SSL Wildcard),而且 CloudFlare 是有免费版的。
本站点 CDN
本站点就是同时使用的 KeyCDN 和又拍云,目前近一个月来,KeyCDN 的缓存命中率为 98%,又拍云为 93%。总体来说速度不错了!
2016 年 8 月更新:现在是使用了 3 个 CDN,分别是 CloudFlare(所有 IPv6)、UPYUN(所有中国大陆请求)、KeyCDN(其他),使用 Nginx 替换 URL 实现。
“为何要使用一个 CDN 服务?”上的8条回复
麻烦问下,如何同时使用KeyCDN和又拍云?是在前面放一个分发,根据ip转到相应的cdn么?
通过智能分区DNS解析方式,两个服务都绑定到一个域名上即可
请问你用的分区dns是哪家呢?针对没有备案的网站有什么geodns推荐吗?
我目前是自建的 DNS。或者 AWS 的 Route 53 也是很实惠的,或者 NS1 就是超出了免费额度有些贵。也可以使用国内免费的 CloudXNS。你可以参见国内外 DNS 权威解析服务商对比这篇文章。
请问又拍云支持自动生成SSL Key么?像KeyDNS那样,可以选LetsEncrypt这种。
不支持的,需要自己购买证书
好的,看来只能上传letsencrypted证书了。
博主的网站16年1月的时候还没有备案的吧,怎么能用又拍云的CDN呢?
如果有备案,博主用的是HK主机,又是怎么备案上去的呢?并且备案之后不能使用全站CDN,否则被备案ISP检测到域名指向非他自己的IP会吊销备案,所以博主同时使用三个CDN又是怎么处理这个问题呢?