零基础-搭建个人博客8-Cloudflare免费解析域名到githubPages

本篇目的

由于存在很多的不可抗力因素,导致我们部署在海外github上面的服务pages是无法通过国内进行访问的,但是绝大多数的国内用户建立博客的目的都是给身边或者志同道合的人一个认识自己的路径,所以受众基本上就是国内用户。本文的目的就是为了解决上述问题而产生的。

不可抗力:

1.不可抗力的本质:

我们先来了解一下我们在浏览器输入域名,桥下回车后发生了什么:

个人博客

用户在浏览器输入想访问的域名后,浏览器会根据这个域名在域名服务商配置的dns解析服务器地址去寻找域名配置的规则,并根据规则对应的实际内容,去访问真是的服务器提供的web服务。

因为我们的博客是利用了DNS解析,而如果您使用的国内的DNS解析,在完成这一步之后,还会经过一层国家级的防火墙GFW,其会将需要被隔绝的网络设置不可访问的返回内容。

这样,我们便因为这个不可抗力的原因导致我们无法访问自己的博客。

2.可选的方案:

理论上在没有被限制的情况下,我们是可以通过github的项目域名进行博客的访问:

https://{你的用户名}.github.io

但是因为存在部分不可抗力的原因,导致我们无法直接通过github的域名进行博客的访问;

此时,我们就只能想办法通过一定的规则手段配置,使得个人的博客网站可以被正常访问。这里我罗列两条方案;

方案一:

申请自己的域名,并在云厂商购买一台服务器,比如在阿里云购买一天最低配服务器,并申请公网IP和固定带宽;

这样,您便可以通过阿里云服务器进行自己域名的解析和重定向;一般是需要在您在自己国内的服务器上面安装Nginx或者其他服务代理转发的后台服务。

另外,由于您使用的是国内服务器,您的域名需要解析到您服务器的公网ip,根据ICP备案的要求,您的域名还需要经历云厂商的服务器进行IP的绑定,做备案后才能投入使用。

理论上来说方案一是可行的,但是因为个人原因,我没有进行尝试,有尝试的小伙伴,可以将结果反馈一下。

这个方案的目的是国外的域名改为自己的域名,并通过正常的备案流程进行访问,理论上来说只要不提供反对内容应该是不会要问题的。

方案二:

使用海外的域名解析网站,比如:Cloudflare;

我们可以将自己的域名的DNS解析服务器修改为cloudflare提供的服务器,其提供的解析域名会根据重定向后的规则,找到需要访问的真是IP地址,
这样在我们访问域名时,便不会因为重定向的限制和不可抗因素被重定向后的域名给截断请求。

cloudflare还会根据您实际访问ip的地址分配就近的CDN进行内容的缓存,无形中加快了您域名跨区域访问的速度。当然这种CDN服务在国内是需要收费的,但是cloudflare是可以提供免费支持的。

方案二的目的是直接跳过国内的DNS,直接到国外可用的DNS去解析内容,然后直接返回数据内容,这样返回的内容并不会被GFW拦截。

我们可以看到不同方案的对比,理论上来说方案一的访问速度回被方案二更快一些,毕竟站点在国内,但是方案二通过国内CDN和免费解析等手段基本上也能达到我们预期的诉求。

综上所述,我按照我自己的实际使用场景,选择了方案二进行域名的解析。

3.Cloudflare具体实操:

Cloudflare

Cloudflare 是一间总部位于旧金山的美国跨国 IT 企业,以向客户提供基于反向代理的内容分发网络(Content Delivery Network, CDN)及分布式域名解析服务(Distributed Domain Name Server)为主要业务。利用Cloudflare全球Anycast网络,Cloudflare可以帮助受保护站点抵御 DDOS 等网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验。 截至2020年1月,Cloudflare拥有200多个位于全球各地的数据中心

总的来说Cloudflare是一家提供CDN和DNS服务的公司,但是他是基于反向代理来进行的内容分发,也就是说网站域名在其dns解析后是一台反向代理的服务器,而不是真实的服务器,这样其通过代理服务器访问真是ip后将结果返回,变可以实现隐藏服务器真是ip的作用了。

个人博客

CDN:内容分发网络

内容分发网络或内容分发网络(CDN)是由代理服务器及其数据中心组成的地理分布式网络。目标是通过相对于最终用户在空间上分布服务来提供高可用性和性能。CDNs出现于20世纪90年代末,是缓解互联网性能瓶颈的一种手段。

简单来说,就是CDN是一个大型的网络缓存设备,这样我们在访问域名对应的真实服务器提供的服务是,CDN服务商会从客户就近的CDN服务器直接返回网络数据内容,而不是真实的每次都去远程的服务器真是IP获取内容,减少了网络的链接和跳转,加快了用户的访问速度。

个人博客

本身来说CDN是一个提升用户体验的服务,基本上这种服务都是需要额外收费的,包括国内各大厂商提供的也都是有偿服务。Cloudflare公司提供了一些免费的额度,但是这些额度理论上来说足够个人博客使用了。

注册Cloudflare

打开网络:https://www.cloudflare.com/ 进行注册。

注册完成后可以点击websites菜单,填写您注册的域名。

个人博客

这里我们填写自注册的域名后选择默认的模式:

个人博客

至于plan计划,我们选择免费版本的:

个人博客

接下来就到了我们要进行DNS解析的处理了,这里我们按照图下展示所做,将我们的域名通过CNAME的类型方式直接跳转到github的二级域名。

个人博客

并且我们需要到买到域名的域名厂商进行域名的DNS解析处理:

以我个人为例,我使用的阿里云服务,所以按照提示从Cloudflare网站的DNS中的records菜单,找到了他们提供的DNS解析网站的Nameservers服务,并将其配置到域名厂商的管理配置中;

个人博客

这里我们可以免费开启https服务,顺便说一句,如果是国内的话,需要额外申请—_—!
个人博客

理论上来说,按照上面的配置我们的网站便可以通过浏览器在国内直接访问了,但是我这里预到了一个问题,就是重定向次数过多导致网站无法打开。

这是因为Cloudflare本身https和http设置会导致网站回源处理时反复在这两个协议直接横条,导致解析处理重定向次数太多,这时候我们需要设置CDN的会员方式固定位HTTPS的方式,即在SSL中选择Full(strict),配置如图:
个人博客

至此,即便在国内访问域名,也可以正常展示啦!!

个人博客

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2011-2025 阿良
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信