前言

爱折腾的小笨蛋一个啊~

一次偶然的机会,购买了一个域名,就想着能不能把它和之前的github pages 绑定起来

上学期就学过计算机网络,成绩也还理想,但终究是纸上知识,实践起来才知道计网学得连门都没有入😅,所以重庆某大学啥时候把1.5w每年的学费退一下?

趁还记得操作,把踩过的坑都记录一下,因为每踩一个坑都要查询很久,真的很锻炼心态。前人栽树后人乘凉,希望我的一些记录对你有帮助。(图床可能国内较卡,如果学校有GitHub加速应该可以显示)

购买域名

参考网站

namesilo

这是我购买域名的地址,国外的,dddd,不像国内那么麻烦,价格便宜,续费也简单,不坑,盲选就行。

注册的时候记住你的用户名,因为登陆时不能用邮箱(除非你后期允许用邮箱)

如果忘了用户名,点击username retrieval,他会发邮箱重新

傻乎乎用邮箱当用户名就会这样:

购买域名就是选一个域名,然后填一堆信息,购买就行,如果贵了就在名字后面加数字,我的名字拼音就比较贵,10$+起步,焯,不得已加了点数字让价格变成1.88$

好了假设你已经购买好域名

先update

如图(一共有两个圈要去操作)

image-20221123112015382

删除所有已经有的信息,最后如图所示

接下来要用到cloudflare

cloudflare

首先注册一个然后登录

image-20221123112200325

我已经绑好了,第一次操作直接add site就行,我就直接点击这个active的框框

点击dns

然后将两个value,添加到name servise 要填的地方

将四个ip添加进去,那个name自己定就行,注意是A类

绑定域名

进入github对应仓库

点击settings

image-20221123113344739

填入自己的域名,比如我购买的是liyifan001.top,我添加了4个ip,名字是blog,那么我要填的就是blog.liyifan001.top

这时候应该就可以了

点击visit site

如果失败了请接着看我踩过的坑:

用cloudflare时,我喜欢折腾点了很多设置

首先我们要清除所有内容,如图所示

之后再visit site

这时候大概率会出现

反复重定向错误

傻乎乎的我照着网上的建议,清除了所有cookie,然而并没有什么作用,不对,其实是有作用的,我需要在所有已经登录的网站上重新登录一遍,真的会谢!

按f12进入开发工具,点击network

其实在不停301,像抽了一样

这时候,我们要进到cloudflare

将灵活改成完全

这时候应该就可以了!

点击查看网站

发现域名绑定成功!

后续网站更新

我主要用这个做博客玩

我发现每次更新仓库之后,网址都打不开了,

显示404,github page not found

不要慌张,其实再去pages重填一下域名就行。

但这样真的很麻烦,有没有什么避免重复劳动的操作?

其实我点了save之后,原来的仓库里面会出现CNAME这个文件,它里面只有一行,就是自己要绑定的域名

也就是说我只要每次更新仓库,仓库里面有CNAME就行了

我用到是hexo

只需要将CNAME文件放进source文件夹就可以了

谢谢阅读!

一些用到的与计算机网络相关的知识

CDN

知乎参考

CDN全称Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。

CDN加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。

cloudflare关于CDN的解释:

内容传递网路(CDN) 是指一组分布在不同地理位置的伺服器,协同工作以提供网际网路内容的快速交付。

CDN 允许快速传输载入网际网路内容所需的资源,包括HTML 页面、javascript 档、样式表、图像和视讯。CDN 服务已得到不断普及。如今,大多数web 流量都通过CDN 提供服务,包括来自Facebook、Netflix 和亚马逊等主要网站的流量。

正确设定的CDN 也能协助保护网站,对抗常见的恶意攻击,例如分散式阻断服务(DDOS) 攻击。

核心理念,就是将内容缓存在终端用户附近。

CDN=更智能的镜像+缓存+流量导流

知乎参考

域名(Domain Name)

域名的出现解决了记忆困难的问题,这个是你不再需要去记那么难记的IP地址,你只需要记住http://baidu.com这种便于人类记忆的字母数字组合的域名。就好比你给每个手机号备注名字一样,也是为了方便记忆。

域名解析类型

摘录网站

(原文见阿里社区)

A记录、CNAME、MX记录、NS记录、TTL、TXT记录

A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。 简单的说,A记录是指定域名对应的IP地址

NS记录是指定由哪个DNS服务器解析你的域名

MX记录 MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 [email protected] 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。

CNAME记录 CNAME(Canonical Name )别名记录,允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为 “host.mydomain.com”(A记录),它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL, 这两个别名的全称就“www.mydomain.com”和“mail.mydomain.com”,实际上他们都指向 “host.mydomain.com”。

TTL(Time-To-Live)原理:TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。

http状态码

菜鸟教程

分类 分类描述
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误
301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替