博客同时托管在多个平台+CDN优化

Author Avatar
LittleBlack 1月 24, 2020
  • 在其它设备中阅读本文章

此博客已经经过更新。不想听我带有误导性的瞎JB废话的同学请拉到页面最底下直接配置。

前段时间腾讯云开发者平台突然和coding来了一次大合并。我现在感觉非常的迷,主要原因有下

  • studio.dev.tencent.com 马上要搬家到新的域名,新的域名根本不提供php环境支持。就是说我在上面运行的页面不行了。
  • 我的一个账户突然分裂成以我邮箱命名的账户和以我昵称命名的账户,账户下的项目两个都有一份。。。
  • 还是可以commit到腾讯云,可以查看hackblack.coding.io,但是死活不更新了。coding给我重新安排了一个page。。。。

所以我又得重新去搞我的网站了。我这次打算好好的搞下优化,这次准备做 同时部署在GitPage与CodingPage并且加上腾讯云的CDN

What

如果不想看可以直接跳到 How 部分

CNAME 在互联网上表示一个联网的设备可以用ip。输入ip就可以找到设备。CNAME(Canonical name),也叫别名记录,就是通过一串字符来表示机器。比如百度的ip是39.156.69.79baidu.com和这串ip指向的是同一台设备,而后者显然方便记忆。
给一个人命名显然需要他自己承认和大家承认。因此CNAME除了在解析商配置以外,还需要在被解析的设备处配置。

CDN CDN,也叫内容分发服务。简单的来说,CDN将你的服务器的内容在它那里缓存了一份,解析商被配置为解析到CDN,因此用户在请求一个域名的时候,会先被定向到CDN那边访问缓存(高速)。超过一定时间的缓存会在用户的访问下刷新。

反向代理 这是百度对反代的解释。

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

反代是CDN的原理。就是说,用户请求服务器,但实际上访问了反代服务器的内容。因此ip显示为反代服务器,但是域名仍然挂着本来应该是目标服务器的域名。

回源 就是CDN回到源站去拿取资源。一般因为缓存过期导致的。一般采用ip回源(确定的),但是在一些复杂情况,会采用域名回源。(我们这次就采用的是域名回源,方法是为源站搞一个专门的子域名,CNAME到coding,在CDN中配置回源地址为这个子域名。)

WWW 3W即万维网(World Wide Web) ,很神奇的是中译名的三个字也是w发音。Web只占互联网的一小部分,也是最直观的那一部分。Web将数据转化为了文字与多媒体,举个例子,超链接就是Web的一部分。

显/隐性URL 显性URL就是使用重定向把访客从一个URL扔到另一个。这个期间浏览器的网址是会变更的。而隐性的URL是使用了一个Frame(在当前URL嵌套加载另一个URL的内容),网址不变。但隐形URL对SEO没有好处,还可能导致兼容性问题,所以这里采用的是显性URL。

How

首先,准备好要加速的域名和一个回源用域名,不能是一样的。

准备回源域名

因为配置完成后,用户事实上通过加速域名直接访问的是CDN的反代服务器(不懂?上去看看),所以我们直接在coding配置我们的回源域名就可以了。

域名解析商处配置

如果想要HTTPS加密的证书,得先停掉其他解析的内容,只打开回源域名的解析。

CodingPage正常

点击申请证书(codingpage处),可以看到,证书已经出来了。这个时候可以把你的解析恢复正常了

配置CDN

我使用腾讯的CDN,免费套餐已经可以满足我这种自娱自乐的小站的使用了。

时间不给你是怕你社会工程学盗我号

先不去管热备源站,将回源host配置为我们刚才那个二级域名。

配置解析

正常人在上一步就已经OK了,因为你肯定有加速域名,不然你的CDN是搞不成功的。不过为了写这个博客我特地把解析商那边重置了一下,所以我得重新配置下加速域名。

解析商处

将待加速域名解析至CDN。

注意的是,这个CDN直接访问是没有用的,这个域名的作用纯粹就是方便你不去一天天的改,因为CDN的ip是会变的。

大功告成

那么,到现在为止整个的配置应该算是大功告成了。

配置HEXO

那么接下来,就是进一步优化,同时部署在两个平台上。

Why: 事实上,在国外即使是访问CDN还是不如GitPage来的快。再说,我也不希望GoogleSpider来占用我的CDN宝贵流量。

zjt2005是我的另一个网名

如果你使用的是和hexo类似的其他静态博客,那么稍微改一下,这招应该通用。如果你用的是wordpress之类的动态博客,出门左转。我想不通你是咋看到这里的。

配置解析商

现在你应该已经将GitPage开通并且可以跑起来网页了。

那么下面就是基础的配置。

别被省略号骗了

值得一提的是,默认包含了虽有没设置的条件,不会与已经设置的条件冲突。这意味着境外的流量仍会正常的定向到GitPage.

好了么? 看起来是万事OK。不过你可能会发现这样的尴尬情况:

神奇不

除了PIng,其他非Chrome核的浏览器也没有义务为你带上3w头。

事实上,3w头也是一个子域名,只不过是人们最常使用的。人们在访问一个网站的时候,最先看到的就是它的内容,即Web。久而久之,人们自然的把Web和网站混为一谈。但归根结底,两者是完全不同的。`

我会让你看到ip么??

比如我的Terraria服务器。

所以,hackblack.cn这个域名是解析到我的web还是我的tr服务器,要看下一步的操作。

注意区别

现在,凡是访问不带3w头的流量,都会被加上3w头,扔回去重新解析。(如果你没有备案,很遗憾,目前你不能进行这个301。试试看Godaddy )

这边有个值得注意的事情,有一项是我填的是“*”。我们看看腾讯怎么说:

啊哦

也就是说,一切其他子域名都会被解析到web上。

其他的意思是“不在设置之内的” , 也就是说它不会与已经设置的子域名产生冲突。

image-20200126011725012

OK 了吧。

其他

  • 如果你打完了这套组合拳发现没什么效果,试试看刷新你的CDN。
      1. 将回源的域名设为hackblack.cn。然后再去捣鼓设置,把”@”的那条给去掉。不过这样的话google浏览器可能有兼容性问题…至少看起来舒服了不少
      1. 或者你可以再去加一个隐形URL。还记得“What”里面隐形URL的定义么?www隐形URL指向imsb.hackblack.cn(我想不出更好的名字了!),然后imsb CNAME到CDN。我得警告你,这样操作对于你的SEO没有好处。
  • 欢迎转载,请注明出处(为我打个链接)。谢谢LOL。如果你不愿意,至少也不要去掉这个啦 本文来自小黑的博客

2月十三日更新:

刚刚发现更新后的腾讯云/coding 的速度大为增加,几M的图片可以瞬间加载。推测codingpage学习gitpage的方法为每个站点挂上了腾讯的CDN,亲测比我的CDN免费套餐在国内打开更块。所以采取以下配置方法:

DNSPOD

image-20200213141455769

CodingPage

image-20200213141516442

CDN

其实在这种情况下CDN的启用与否都无所谓了。但是嘞放着不用暴殄天物,我打算将CDN用于图片与文件的加速、CSS的加速,暂时先把域名之类的玩意配置完毕。我为cdn专门分配了CDN.hackblack.cn

image-20200213143229346

刷新时间取决于文件大小、更新频率及博客访问量(短时间内越多访问、更新频率越高、文件大小越小,刷新时间应该越短)

.zip;.rar;.arj;.gz;.sit;.sitx;.sea;.ace;.bz2;.7z
.doc;.pdf;.ppt;.pps;.docx;.pptx
.mp3;.wav;.wma;.mpa;.ram;.ra;.aac;.aif;.m4a
.exe;.msi
.avi;.mpg;.mpe;.mpeg;.asf;.wmv;.mov;.qt;.rm;.mp4;.flv;.m4v;.webm;.ogv;.ogg;.mkv
.jpg;.gif;.png;.jpeg;.webp;.webm;.svg

上面是文件类型。

本博客使用CC BY-NC-SA 3.0创作协议,转载请注明出处。
本文链接:https://www.hackblack.cn/posts/3RXHQ2H/

目前已经有位朋友临幸过此博客