首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GitHub pages配置自定义域名利用Cloudflare全球CDN

GitHub pages配置自定义域名利用Cloudflare全球CDN

作者头像
六月河
发布于 2023-06-26 09:08:54
发布于 2023-06-26 09:08:54
3.5K0
举报
文章被收录于专栏:工具客栈工具客栈

警告

本文最后更新于 2022-10-03,文中内容可能已过时。

关于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提供域名解析服务。

个人域名可以购买国内外域名服务商的域名,区别是国内的域名的需要备案,国外不用。

免费的域名注册,目前据我收集到的市面有两个渠道,一个freenom,一个eu.org

freenom可以注册.tk、.ml、.ga、.cf、.gq这些免费顶级域名,有效期1年,一年到期前一周可续,否则会被回收。

eu.org 是欧盟推出的免费域名服务,从1996年至今,虽是二级域名,但完全可以当一级域名使用,永久免费。我回头再整理一个教程。

自定义域名配置

DNS解析配置

ping自己的github pages域名xxx.github.io,可查看它的ip,当前github io服务器为以下4个,ip在四个里随机变化。

1 2 3 4

185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153

进到cloudflare管理平台,域名管理添加一条www的CNAME记录,指向你自己的github.io域名xxx.github.io。这一步可以将你的个人域名转向xxx.github.io,io域名再去解析到那4个ip中的一个。

或者直接添加4条A记录,将你跟域名直接指向上面4个ip。这步使你个人域名直接转向github.io的ip。

github官方的建议是采用添加CNAME记录,这样github.io的ip变化后不会不会受影响。

github配置

  1. 在你github pages项目根目录,添加一个文件名为CNAME文件(注意文件不要有后缀), 文件里输入你DNS配置的个人域名。即可完成。
  1. 你也可以直接进到个人GitHub pages那个项目,GitHub pages -> setting设置,custom domain里添加保存你个人域名。这个操作实际对应也是生成1步骤的CNAME文件。效果一样的。

注意: 如果你github pages静态网站是通过github action自动编译生成的话,需要在编译前的项目对应的生成pages的根目录里添加这个CNAME文件,因为每次编译生成都会清空你原GitHub pages项内容,主流静态博客(hugo,hexo等)的话基本是static目录,这个目录的文件编译后全部都在生成的静态网站根目录里。

通过以上配置,等域名配置生效后,一般需要24小时,不过我设置后一会就直接生效,即可通过个人域名访问,cloudflare配置域名默认启用cdn代理,速度会比直接访问github.io快很多。

我们可以ping一下配置后个人域名的地址,会发现已经不是github.io的那4个了,而是cloudflare的cdn代理服务器。

关于无法Enforce HTTPS

配置到这里,大家会发现无法启用github的强制https,这是因为cloudflare默认启用了http/dns代理功能,也就是cdn代理,导致github无法查看生成https证书所需的dns记录,对于指向github的任何dns记录,都要禁用该选项,才能启用Enforce HTTPS。

不过你在的cloudflare上直接启用https即可,这里本来就要利用它的cdn来进行访问加速。

参考资料:

github docs https://docs.github.com/cn/pages/getting-started-with-github-pages/about-github-pages Cloudflare https://zh.wikipedia.org/wiki/Cloudflare GitHub Pages自定义域名使用Cloudflare无法Enforce HTTPS解决方法 https://blog.imfang.net/web/118.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GitHub pages配置自定义域名利用Cloudflare全球CDN
GitHub pages是github提供免费静态站点托管服务,并提供域名xxx.github.io,xxx是你GitHub账户的名称。一个账户只能托管一个GitHub pages项目。
六月河
2022/10/05
4.8K0
GitHub pages配置自定义域名利用Cloudflare全球CDN
白嫖Cloudflare域名服务!
使用 Github Pages 可以很方便地搭建个人博客静态网站,但在国内访问速度不佳,而且网站访问地址都是xxx.github.io/xxx,也没有体现个性化,可以考虑通过自定义域名+Cloudflare来提升静态资源的访问速度。cloudflare是一家主要提供网络基础设施服务的美国科技公司,包括内容分发网络(CDN)、分布式域名服务(DNS)、DDos防护、互联网安全优化等。全球互联网有20%的流量都经过了Cloudflare的网络代理。作为一个大公司,自然也有很多可以白嫖的服务。
程序员小义
2024/06/19
2K0
白嫖Cloudflare域名服务!
GitHub Pages服务为自定义域名提供HTTPS支持
Github提供了新的服务,在Pages服务可以把用户网站的访问方式升级至HTTPS,还在寻找GitHub Pages + Custom Domain + HTTPS 的方法的就看这里 别在借用CloudFlare给自己的域名加个s了,CloudFlare是一家CDN提供商,它提供了免费的https服务(但不是应用SSL证书)。实现模式就是,用户到CDN服务器的连接为https,而CDN服务器到GithubPage服务器的连接为http,就是在CDN服务器那里加上反向代理 也别用其他的第三方了,2018年5
沈唁
2018/07/03
2.8K2
GitHub Pages自定义域名
最早用GitHub Pages做个人博客,初始的二级域名就是https://x-nicolo.github.io/,之后用了一个免费顶级域名,在Freenom 申请,最长可以申请一年的免费域名使用权。申请了一个.cf 的域名。
一点儿也不潇洒
2018/08/07
3.2K0
如何给 GitHub Pages 配置多个域名?
因为以前对域名进行了一些调整,所以实际上我的博客在历年来经历了两个域名 blog.walterlv.com(新)和 walterlv.com(旧)。然而 GitHub Pages 只支持一个自定义域名,所以为了兼容旧域名的访问,如何可以让多个域名对应同一个 GitHub Pages 呢?
walterlv
2023/10/22
1.1K0
如何给 GitHub Pages 配置多个域名?
使用自定义域名来访问GitHub上部署的hugo博客——GitHub Pages
https://sg.godaddy.com/zh例如这个就是国外购买域名的网站,直接购买即可。如果是国内的话需要购买域名和服务器或主机才能备案。
兮动人
2021/06/11
2.6K0
使用自定义域名来访问GitHub上部署的hugo博客——GitHub Pages
迁移 github pages 到 coding.net
由于众所周知的原因,github 在国内时不时不能访问,虽然有各种办法可以跨越屏障,但是你不能用预测未来会发生哪些事情,于是决定将博客迁移到国内,coding 是一个不错的选择,主要有以下几个优点。
李振
2021/11/26
2K0
迁移 github pages 到 coding.net
Github 部署个人网页 | 自定义域名
上篇文章讲了如何在 Github 一键部署静态网页。但是,username.github.io 这样的域名也太难看了,放在简历上多少有点影响观感。
写代码的海怪
2022/03/30
4.7K0
Github 部署个人网页 | 自定义域名
利用Hugo和Github Pages免费创建并永久托管网站
Hugo可以让你轻松生成静态网站,比如个人博客、API文档、公司主页等,你只需要提供markdown格式的文本,它就能帮你渲染成各种你想要的样式,只需要安装想要的主题,写好对应的markdown内容,就能快速编译出一个静态网站。
imroc
2018/09/03
7.4K0
利用Hugo和Github Pages免费创建并永久托管网站
GitHub Pages 对自定义域名支持 HTTPS
版权声明:本文为[他叫自己Mr.张]的原创文章,转载请注明出处,否则禁止转载。 https://micro.blog.csdn.net/article/details/80177787
他叫自己MR.张
2019/07/01
3.5K1
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
CloudFlare提供的不仅仅是CDN,而是一个快速、敏捷、安全的全球网络。 CloudFlare通过全球边缘网络实现超快速的静态和动态内容交付。对内容的高速缓存方式实行精确控制,降低带宽成本,并充分利用内置的不计量 DDoS 保护。 今天我们使用 CloudFlare Workers 和 CloudFlare Pages来搭建我们的反代服务。
骤雨重山
2023/01/30
15.7K1
CloudFlare Pages 网页托管初体验
今日听闻 CloudFlare 的全新网页托管服务 CloudFlare Pages 正式进行开放测试,立刻进行了一番尝试。继前人 GitHub Pages、Netlify 和后人 Vercel (Zeit) 之后,终于又出现了一个免费用户完全不限带宽的服务。
Shiroka
2022/04/28
5.5K0
CloudFlare Pages 网页托管初体验
搞懂自定义域名
上次写了一篇给 Gihub Pages 添加自定义域名的文章,之后感觉写得还是偏实践多一点,只做到了受人以鱼。
写代码的海怪
2022/03/30
4.3K0
搞懂自定义域名
GitHub Pages 站点建设
在 repo 下创建 README.md文件,随便写点东西保存。然后,点击 settings选项卡,单机左侧 Pages进行设置,如下图:
甜点cc
2022/08/17
1.4K0
在Cloudflare Pages上构建应用
目前Cloudflare Pages处于测试阶段,可以在 pages.cloudflare.com 中申请Cloudflare Pages的试用资格。
用户1316967
2022/01/18
2.2K0
在Cloudflare Pages上构建应用
OneManager与CloudFlare Workers部署安装-绑定域名和使用CloudFlare CDN加速
之前我们分享了OneManager的安装与使用教程,实际上OneManager可以和CloudFlare Workers整合并且可以绑定自己的域名访问。CloudFlare Workers与OneManager结合有两种方式:一种是利用CloudFlare Workers实现OneManager自定义域名访问,适用于Heroku空间架构OneManager。
用户9022575
2022/07/21
7K0
利用 cloudflare workers来畅游github
要实现在国内利用workers访问github。那么前提条件就是你有一个cloudflare账号以及一个域名。关于什么是cloudflare,这里简单说一下 : Cloudflare 是一家广受认可的公司,在互联网行业中享有良好声誉。他们的服务被许多大型企业和网站使用,以提供网络安全防护、DDoS 攻击防御和性能优化等功能,也是目前还提供免费cdn的良心厂商之一。简称 赛博大活佛。那么话不多说,我们直接开始今天的教程。
huolong
2024/12/25
7600
利用 cloudflare workers来畅游github
Hexo+Github Pages 自定义域名
我回忆了一下我当时在搭建博客网站的经历,想起来我使用的是第三方的 CDN 解析,所以应该是本地的配置被覆盖了。于是我尝试着去寻找我自己绑定自定义域名的博客或者记录,打算按照当时的流程重新配置一下。然后结果你应该也猜到了,要是我找到了记录,这篇博客就不会出现在这里了。
杨丝儿
2022/03/17
8530
Hexo+Github Pages 自定义域名
如何使用Jekyll+GitHub Pages搭建个人博客站点
作为一名有情怀的工程师,一般都会通过博客来记录自己的生活,成长,工作心得或者经验,大部分人使用博客都会经历如下几个阶段: (1)记录在大脑中 (不推荐) (2)使用XXX云笔记 (3)使用iteye,csdn,51cto,开源中国,博客园,简书,等等 (4)使用个人站点+微信公众号 (一)Jekyll是什么 jekyll是一个静态博客的生成器,它可以用来把我们使用markdown来写好的文章给转换成静态网页html来发布。 (二)Github Pages是什么 Github Pages 是面向用户、组织和项
我是攻城师
2018/05/15
1.3K0
利用Github Pages实现“服务CNAME”功能
当有域名自动跳转(CNAME)到某一个指定 WEB 服务网站(单域名)的需求时,一般是在域名注册商那里添加 CNAME 解析就可以了,但是如果目标站点与多个其他站点服务部署在同一台服务器上,且站点服务是以域名区分(根据不同域名区分不同服务,但公用同一个IP和端口)的情况时,由于 CNAME 解析主要的作用只是映射出 CNAME 的目标域名的 IP 地址,本身不会做域名路由跳转,这样的话就不能正常跳转到指定域名的网站页面了,常见做法是给原域名搭建一个WEB网站服务,然后再通过这个WEB服务专门去做重定向跳转,但是仅仅为了一个页面跳转的功能就再搭建一个web服务的话,就有点太浪费成本了,有没有比较简便的方式呢?实际上我们可以利用免费的Github Pages服务来实现这个需求。
Jokey
2020/09/23
4.3K0
相关推荐
GitHub pages配置自定义域名利用Cloudflare全球CDN
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档