106 lines
7.6 KiB
Markdown
106 lines
7.6 KiB
Markdown
Cloudflare是一家全球知名的互联网基础设施公司,**最核心的产品是一套集CDN加速、网络安全和智能DNS于一体的服务平台**。它通过分布在全球的服务器网络,将网站的静态内容缓存到离访客最近的节点,让用户无论身处何地都能以更低延迟、更快速度访问网站,有效改善海外访问体验和移动端加载速度。
|
||
|
||
同时,Cloudflare具备强大的[DDoS攻击防护](https://zhida.zhihu.com/search?content_id=260854812&content_type=Article&match_order=1&q=DDoS%E6%94%BB%E5%87%BB%E9%98%B2%E6%8A%A4&zhida_source=entity)能力和Web应用防火墙,可以自动识别并拦截恶意流量,极大降低因攻击导致的网站宕机或数据泄漏风险,保障网站安全稳定运行。
|
||
|
||
除了速度和安全优势,**Cloudflare还提供DNS解析、高级缓存管理、免费[SSL证书](https://zhida.zhihu.com/search?content_id=260854812&content_type=Article&match_order=1&q=SSL%E8%AF%81%E4%B9%A6&zhida_source=entity)、Bot管理等功能**,帮助网站更容易通过Google等搜索引擎的安全与性能评估,从而提升SEO表现。
|
||
|
||
最重要的是,**Cloudflare的入门级服务对大多数中小网站完全免费,业内戏称“大善人”、“赛博活佛”,可以说Cloudflare浑身是宝啊。** 开通和配置过程也非常简单——**只需在域名注册商后台将域名DNS服务器切换到Cloudflare,然后在Cloudflare面板中设置解析记录指向你的主机IP即可。**
|
||
|
||
**Cloudflare适合谁使用?**对于面向海外市场的外贸站点,无论是ToB还是ToC站点,Cloudflare都是非常推荐的 CDN 解决方案。
|
||
|
||
本[Cloudflare教程](https://link.zhihu.com/?target=https%3A//ecomools.com/cloudflare-cdn/)将带你们使用Cloudflare的域名解析功能以及接入免费CDN,现在就让我们开始吧!
|
||
|
||
注意:在教程开始之前你得先拥有一个域名。
|
||
|
||
注册Cloudflare账号并添加站点
|
||
-------------------
|
||
|
||
访问[Cloudflare网站](https://link.zhihu.com/?target=https%3A//dash.cloudflare.com/sign-up),注册一个Cloudflare账号。如果你已经有账号,那么直接登录即可。
|
||
|
||
登录到后台,在**账户主页**中,我们点击**“添加域”**来添加我们的站点:
|
||
|
||

|
||
|
||
然后输入我们的根域名,选择**“快速扫描DNS记录”**,让Cloudflare自动扫描我们的DNS记录即可。
|
||
|
||

|
||
|
||
点击**“继续”**后选择我们的计划,这里选择免费的计划即可。
|
||
|
||

|
||
|
||
在Cloudflare中添加DNS记录
|
||
-------------------
|
||
|
||
我们在上一步添加站点中选择了“快速扫描DNS记录”,Cloudflare会帮我们自动扫描域名现有的DNS记录。因为我们的域名刚注册时,默认 DNS 记录一般都是指向域名注册商的服务器,这些默认记录可以全部删除。
|
||
|
||
**删掉之后我们再单独添加两条DNS记录:@和www**
|
||
|
||
* @ 代表主域名,比如 @ 就表示 ecomools(dot)com。**这条记录添加 A 记录,指向我们的服务器公网 IP**。
|
||
* www 代表带有 www. 前缀的域名(如 www(dot)ecomools(dot)com)。**这条记录添加 CNAME 记录,指向主域名**(也就是 ecomools(dot)com)。
|
||
|
||
**这样设置后,无论用户访问 ecomools**(dot)**com 还是 www**(dot)**ecomools**(dot)**com,都能正确跳转到我的服务器和网站内容**。像下图这样:
|
||
|
||

|
||
|
||
我们可以**看到这两条A记录旁边都有一朵橙色的云,写着“已代理”。表示已经开启了CDN,Cloudflare会帮忙我们加速和保护流量。**
|
||
|
||
添加完这两条记录以后,点击**“继续前往激活”**进入到以下界面。这是**Cloudflare给我们提供的名称服务器(也称域名服务器)**。我们后续需要在域名注册商中将域名服务器改为Cloudflare的。
|
||
|
||

|
||
|
||
将域名DNS服务器切换到Cloudflare
|
||
----------------------
|
||
|
||
**接下来,我们需要在域名提供商中将域名DNS服务器切换到Cloudflare。** 我们这里以[NameCheap](https://zhida.zhihu.com/search?content_id=260854812&content_type=Article&match_order=1&q=NameCheap&zhida_source=entity)为示例:
|
||
|
||
找到我们的域名,点击“Manage”按钮。
|
||
|
||

|
||
|
||
然后找到“NAMESERVERS”选项卡,打开下拉框,选择“Custom DNS”。
|
||
|
||

|
||
|
||
然后设置为Cloudflare给我们提供的域名服务器。
|
||
|
||

|
||
|
||
点击“√”保存后,通常等待十分钟左右,DNS 解析就会自动生效。
|
||
|
||
好,这样就完事了,我们的网站就已经成功接入Cloudflare了。
|
||
|
||
**我们不仅成功接入了 Cloudflare,获得了额外的网站安全和 CDN 加速保护**。
|
||
|
||
但是可能你立马去访问域名的话还是没那么快能够看到我们的网站。因为我们做的DNS设置修改,这个变化不是立刻全世界都能看到。互联网的每个角落都有无数个DNS服务器,它们会“缓存”之前的解析结果。
|
||
|
||
这些缓存需要一段时间才会刷新,刷新完后,别人访问你的网站时才会用到最新的DNS设置。通常是10分钟左右就能够看到更新后的结果,绝大多数情况下在2-8小时内就能全球生效。我们可以通过[该网站](https://link.zhihu.com/?target=https%3A//www.whatsmydns.net/%23NS/)查询我们的DNS是否已经更新。
|
||
|
||
以后如果更换主机,那么我们只需要在Cloudflare里面修改即可,不需要去到域名注册商中去更改主机IP。**但是续费还是需要去域名注册商中去注册。**
|
||
|
||
使用Cloudflare CDN的潜在风险
|
||
---------------------
|
||
|
||
### 1\. 对于中国大陆用户来说是“负优化”
|
||
|
||
Cloudflare 并没有在中国大陆部署边缘节点,其节点多数位于香港、日本、新加坡、美国等。如果你的服务器在海外,你接入了Cloudflare,中国大陆用户访问网站时绕路严重,速度反而会更慢;甚至某些运营商(如移动、电信)可能会与 Cloudflare 的网络连接不稳定,出现丢包或加载失败。**所以Cloudflare比较适合出口外贸站,但不适合面向大陆用户的站点。**
|
||
|
||
### 2\. 可能会出现“重定向次过多”的情况
|
||
|
||
如果网站和Cloudflare的配置不当,那么就有可能会出现重定向次过多 “ERR\_TOO\_MANY\_REDIRECTS” 的情况。
|
||
|
||

|
||
|
||
这是由于 Cloudflare 默认 SSL 模式为“灵活(Flexible)”,而你的网站本身已经启用了 SSL(如 Let’s Encrypt 证书),并设置了 HTTP 自动跳转到 HTTPS。此时会发生以下逻辑循环:
|
||
|
||
* 访客访问 http:// yourdomain(dot)com;
|
||
* Cloudflare 与用户之间使用 HTTPS(表现看似加密);
|
||
* Cloudflare 与源站之间使用 HTTP(因 Flexible 模式);
|
||
* 但你的源站又强制把 HTTP 跳转到 HTTPS;
|
||
* Cloudflare 收到 HTTPS 请求后仍以 HTTP 访问;
|
||
* 又被跳转到 HTTPS,形成死循环。
|
||
* 最终导致浏览器报错:重定向次数过多(ERR\_TOO\_MANY\_REDIRECTS)。
|
||
|
||
解决方法也很简单:**只需将 Cloudflare 中的 SSL 模式从【灵活(Flexible)】改为【完全(Full)】或【完全(严格)(Full Strict)】即可。**
|
||
|
||
原文首发于[Ecomools](https://link.zhihu.com/?target=https%3A//ecomools.com/cloudflare-cdn/) |