实现自定义域名Github Page网站Https访问

背景

博客搭建好了以后,发现通过自定义域名访问自己的github page时,浏览器提示该网址不安全,没有合格的安全证书,不能通过https(密文传输)访问。有些手机会强制使用https协议访问网站,会导致一些错误,今天尝试解决一下。
参考了 CSDN博主「yucicheung」的文章

原理

HTTP与HTTPS

HTTP是明文传输协议,传输内容容易被嗅探和篡改。
而HTTPS,即HTTP over SSL/TLS,是添加了一层SSL(Secure Sockets Layer,安全套接层),或者是TLS(Transport Layer Security,传输层安全协议),所以HTTPS就可以视为HTTP和SSL/TLS协议的组合。
HTTPS能做到良好的保密性(防嗅探),真实性(防篡改),完整性(防域名劫持和域名欺骗)。

SSL证书

SSL是TLS的前身,但TLS通常也被标志为SSL。
SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息(会话秘钥),服务器收到密文后,用自己的私钥解密。
这个公钥就放在数字证书中。只要证书是可信的,公钥就是可信的。

SSL证书由你的NS(Name Server,域名服务商)颁发,从速度和操作性考虑,我选择了Cloudflare,免费,操作也比较方便。

操作

进行以下3步操作,就可以让网站支持https访问。

1.申请SSL证书

  • Cloudflare官网注册,用邮箱就可以注册成功。
  • 选择免费计划
  • 根据指引点击Add Site,添加你的网站自定义域名,会自动开始扫描DNS解析记录
  • Cloudflare会选择给我们分配两个NS地址,复制这两个地址,供下一个步骤使用。

2.在域名操作后台修改NS地址

  • 登陆你的域名注册服务商网站,修改域名解析,将NS对应的地址(一般有两个),改为Cloudflare 分配的新地址。
  • 我使用是腾讯云的服务,NS不能直接改,研究了一下,要在选项 “更多” 里选择 “修改DNS服务器“,才能修改。
  • 等待1个小时左右,需要同步新的DNS服务器

3.在Cloudflare修改SSL状态

  • 回到Cloudflare的管理后台,在Cloudflare上检查自己网站的状态,显示为Active时表示NS更改成功;
  • 在Cloudflare将自己网站的SSL状态改变为Full状态,等待Status变为Active Certificate,通常生效需要十几分钟。

以上操作全部完成后,用https访问网站,浏览器就会出现小锁,说明配置成功:
HTTPS网站

请我喝杯咖啡吧~

支付宝
微信