我只是简短讲一讲自己的理解,更详细的还请自行搜索,如果错误还请指出。
GitHub pages 是一个能存放静态资源的服务器。你可以把它当做apache服务器使用。同时支持使用自定义域名解析,而且也支持HTTPS加密访问。
但是如果用上了CDN服务器,它这个HTTPS加密就无法使用了,具体请看图:
上面试验过了Https访问浏览器会报错“不安全”,原因是因为该证书它是由CDN服务器提供的。而不是我们访问的GitHub pages服务器提供的。
而且,该证书是CDN的域名,并不是给我们自己域名的,所以当我们使用自己自定义的域名访问GitHub pages,浏览器自然而言就会报错。
我使用的是腾讯云的CDN,有免费流量,反正我是用不完的。同时腾讯云还提供免费的SSL证书,也就是HTTPS证书使用。另外我将自己的域名DNS服务器设置为dnspod,也就是腾讯云的dns解析,这样后面设置的时候也会方便不少,同时dnspod口碑也不错。
1. 创建证书
最后设置如图:
2. 域名验证
域名验证一共有三种方式,如果你的DNS解析服务器是腾讯云的,那么可以使用第一种自动验证。
3. 添加DNS解析完成验证
如果显示这样,说明已经成功了,等待服务商给你生成SSL证书即可。
到这里证书这块已经搞定,下一步是解决CDN设置的问题。
5.按图下图设置
6.设置完成后,点击提交,进入CDN的域名管理列表。
7.稍等片刻,CDN会给你提供一个域名,该域名是你把要加速的域名,通过CNAME类型解析的。如下图:
8.设置域名解析到CDN上。进入域名解析,添加解析。如:我需要用的域名为test.gobyte.cn,那么添加的主机名应该是test,解析类型为CNAME,记录值为test.gobyte.cn.cdn.dnsv1.com。如下图:
9.浏览器输入你的域名,按下F12打开开发者工具,点击network,如我的域名是http://test.gobyte.cn,打开看看能不能访问。顺带看一下head的主机ip是多少,如图:
10.明显看出,这个IP不是上面自己设置的源IP,通过IP查询得知,它是湖南岳阳的IP,说明它就是CDN服务器的IP了。
11.我们再测试下HTTPShttps://test.gobyte.cn,我这边已经成功了,如下图。
12.鼠标单击一下地址栏的小锁,点击证书
4.至此,我们打开浏览器隐身模式,尝试输入不带https的域名,看看能否强制跳转。通过抓包得知,浏览器成功的利用302跳转到https协议了。
至此,使用GitHub pages + CDN + HTTPS教程已经完成,如果你在搭建的过程中遇到什么问题,或者发我的有遗漏、错误的地方,欢迎留言,最后祝大家生活愉快~