关于GitHub pages
GitHub pages是github提供免费静态站点托管服务,并提供域名xxx.github.io
,xxx是你GitHub账户的名称。一个账户只能托管一个GitHub pages项目。
官方文档介绍如下:
GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 可以在 GitHub Pages 示例集合中看到 GitHub Pages 站点的示例。 你可以在 GitHub 的
github.io
域或自己的自定义域上托管站点。 有关详细信息,请参阅“将自定义域与 GitHub Pages 配合使用”。
关于Cloudflare
Cloudflare(Cloudflare, Inc.)是一家总部位于旧金山的美国跨国科技企业,以向客户提供基于反向代理的内容分发网络(Content Delivery Network, CDN)及分布式域名解析服务(Distributed Domain Name Server)为主要业务。
我们主要用到他两个服务:
域名服务器
任一传播网络的免费域名服务器(DNS)。根据W3Cook,Cloudflare的DNS服务目前所服务的对象超过受管理DNS网域的35%。SolveDNS发现Cloudflare能持续提供全球数一数二的 DNS 查阅速度,在2016年4月回报的查阅速度为8.66毫秒。[23]
内容分发网络(CDN)
Cloudflare的网络在全球拥有许多连线到互联网交换点的连线。Cloudflare会将内容缓存到其边缘位置,以扮演内容提供网络(CDN)的角色,所有要求接着会透过Cloudflare进行反向Proxy处理,并直接从Cloudflare提供缓存的内容。
Cloudflare推出了中国大陆地区的服务,帮助所有企业改善他们的互联网应用的性能及安全并扩展其全球业务。Cloudflare最初以百度为合作伙伴,但之后转而与京东云合作。Cloudflare和京东云的合作节点预计将在2023年扩展到中国大陆的150个地点。
准备工作
一个GitHub pages站点,一个自己的域名,并交由cloudflare提供域名解析服务。
自定义域名配置
- 进到GitHub pages项目,setting设置,
- cloudflare域名添加一条A记录,根域名指向
xxx.gitHub.io
的ip,目前GitHub pages的服务器为以下四个:
1 2 3 4 | 185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153 |
---|
ping以下自己的github.io
,即可查看,ip在四个里随机变化。
- cloudflare里的域名添加一条www的CNAME记录,指向你自己的github.io域名
xxx.github.io
。
参考资料:
github docs https://docs.github.com/cn/pages/getting-started-with-github-pages/about-github-pages Cloudflare https://zh.wikipedia.org/wiki/Cloudflare