文章目录

  • ● 前言
  • ● 注册 Cloudflare
  • ● 添加站点
  • ● 修改DNS
  • ● 开启 HTTPS
  • ● 重定向强制 HTTPS

HTTP(超文本传输协议),是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

HTTPS(超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。


● 前言

GitHub Pages 自带的域名(xxx.github.io)支持开启 https 服务,可以在仓库的【Settings】- 【GitHub Pages】下勾选【Enforce HTTPS】即可,但是如果你设置了自定义域名的话,就比较复杂了,因为 hexo 博客是托管在 GitHub 上的,没有自己的服务器,因此也不支持上传 SSL 证书,从2018年5月1日起,GitHub官方也支持自定义域名开启https了,实现方法可参考我的文章:《利用官方支持为基于GitHub Pages的Hexo博客启用HTTPS》,另外一种方法就是利用 Cloudflare 的 CDN 中转来启用 HTTPS,这种方法的弊端就是国内访问速度可能会变慢,本文主要讲述这种方法

Cloudflare 是一家美国的跨国科技企业,以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务,它提供了免费的 https 服务,注意不是应用SSL证书,实现原理:用户到CDN服务器的连接为 https 方式,而CDN服务器到 GithubPages 服务器的连接为 http 方式,在CDN服务器那里加上反向代理

● 注册 Cloudflare

到 Cloudflare官网 注册账号

● 添加站点

添加你的站点,一直下一步即可


如果你已经在域名服务商那里解析过域名的话,之后就会出现你域名的解析列表,如果还没有解析过,可以参考《为hexo博客配置个性域名》

● 修改DNS

点击下一步 Cloudflare 会提供给你两个 DNS 地址

到域名服务商那里修改DNS,以阿里云为例,依次选择【控制台】-【域名】,选择你的域名,点击【管理】-【修改DNS】,将上面 Cloudflare 提供的两个 DNS 地址填进去,会过几分钟才生效


● 开启 HTTPS

在 Cloudflare 管理页面,点击【Crypto】选项,选择 SSL 的模式为【full】,注意:在CloudFlare 上激活站点后,可能需要24小时才能颁发新证书,耐心等待即可

关于三种模式 Flexible、Full、Full (Strict) 的区别:

  • Flexible:访客与 Cloudflare 之间是加密的,Cloudflare 到站点服务器是不加密的

  • Full:访客到 Cloudflare、Cloudflare 到站点服务器都是加密的,它不会验证你服务器上的证书是否合法,因此你可以在你服务器上安装任何证书,包括自签名证书

  • Full (strict):访客到 Cloudflare、Cloudflare 到站点服务器都是加密的,它会验证你服务器上的证书是否合法,你必须在你的服务器上安装有可信赖的CA证书,并且这个证书必须是未过期,包含有域名等信息的

至此,我们的域名就支持 https 访问了,但是当用户输入 http://xxxxxx 访问时,浏览器依旧会以 http 协议来访问,并不会跳转到 https,这时候就需要利用重定向来解决了

● 重定向强制 HTTPS

Cloudflare 提供了一个名叫 Page Rules 的页面规则的功能,我们可以利用此功能对 URL 做一些处理,当用户访问是 HTTP 的时候重定向到 HTTPS,点击【Page Rules】选项,点击【Create Page Rules】,新建如下规则并保存即可

现在我们的 Hexo 博客就实现了全站 HTTPS!

利用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持相关推荐

  1. 利用官方支持为基于GitHub Pages的Hexo博客启用HTTPS

    HTTP(超文本传输协议),是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准.设计HTTP的初衷是为 ...

  2. 利用Github Pages创建Hexo博客

    前言 很多时候身为程序员我们都有搭建自己博客的想法,可是真的着手搭建时候,总觉得事情很繁琐(VPS.LNMP环境.php或者node.js框架.域名.cdn等)而懒得去搞,因此很容易就搁置了自己搭建博 ...

  3. Windows下使用GitHub Pages搭建hexo博客详细教程以及Next主题超全配置

    根据下面的教程搭建的博客见这里 前言 马上要进入研究生了,不能再过浑浑噩噩的日子了,搭建一个小网站,用于记录自己所学的东西.其实,之前在腾讯云1元乞丐版上也搭建过博客,但是呢,只用来扯淡了.这次使用 ...

  4. mac环境下搭建hexo+github pages+next个人博客

    GitHub Pages Github Pages 是面向用户.组织和项目开放的公共静态页面搭建托管服务,站点可以免费托管在Github上,你可选择试用Github Pages默认提供的域名githu ...

  5. Github Pages搭建个人博客(2018年10月版)

    Github Pages搭建个人博客(2018年10月版) 前言 几年前看到网上大神自己搭建的个人博客网站,就想过搭建一个属于自己的个人博客网站,为此还专门去研究了建站所需技能,但是购买了域名和云虚拟 ...

  6. 最全面的github pages搭建个人博客教程

    作为一个程序员怎么能没有自己的个人博客呢,这里详细记录和分享我的博客搭建经验,让你轻轻松松拥有自己的博客网站.傻瓜式一站式教你用 github pages 来搭建博客,详细记录全过程,保证你能学会. ...

  7. 基于Docker容器的HEXO博客

    基于Docker容器的HEXO博客 介绍 hexo是一个基于Node.js 快速.简洁且高效的博客框架. Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 O ...

  8. Github Pages + Jekyll 独立博客一小时快速搭建上线指南

    只要一小时?! 人生道路上布满了坑,于是有了人生导师.  美丽的地球上布满了坑,于是有了Google Earth.  使用Github Pages搭建独立博客的过程中布满了坑,所以有了这篇指南. 我在 ...

  9. 使用Pelican和Github Pages搭建个人博客详细教程

    操作系统:Mac OS / Linux 工具集: 1.Pelican--基于Python的静态网页生成器 2.马克飞象--Evernote出的Markdown文本编辑器 3.GoDaddy--域名供应 ...

最新文章

  1. kaggle之数据分析从业者用户画像分析
  2. emptyDir、hostPath以及local volume的不同
  3. 独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless
  4. ediplus 复制编辑一列_EditPlus等编辑器选中列(块)的方法
  5. 二、配置数据源、SessionFactory、domain对象
  6. python 科学计算设计_《Python科学计算-(第2版)》怎么样_目录_pdf在线阅读 - 课课家教育...
  7. 震惊!99%的人不知道的Linux权限问题细节
  8. 计算机旅游网站毕业论文,旅游网站的设计与实现(毕业论文)
  9. 标准modbus测试软件怎么用,Modbus测试软件使用说明
  10. arduino 超声波测距原理_基础教程10 Arduino 超声波测距
  11. BigDecimal表示0.1
  12. IPv6- Haproxy1.5.8 支持IPv6测试详情
  13. Oracle EBS Interface/API(13)-MRP Forcast 创建预测名称和预测物料导入
  14. 使用snmpwalk采集设备的OID信息
  15. matlab 点云根据法向量投影到六个平面
  16. STC89C52RC定时器2串口通信
  17. 【python】求matrix矩阵中“1“能够围成最大的平行四边形的面积
  18. C语言学习记录——鹏哥二分法查找数组中元素 复习整理
  19. 【第87题】JAVA高级技术-网络编程6(简易聊天室1:运行服务器程序,等待客户端连接)
  20. Emacs: 英文单词(或唐诗宋词/其它词库)补全

热门文章

  1. 大话细说ORM -----(转)
  2. 20111228_给窗体设置默认输入法
  3. 信息系统项目管理系列之九:项目质量管理
  4. pytorch自定义模型执行过程
  5. 动态规划——变形的杨辉三角形
  6. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]50.什么是BLS基于对的签名方案?
  7. ubuntu eclipse java,Ubuntu快速安装eclipse
  8. 计算机软考有学历限制吗,软考中级职称申请积分还需要学历吗?
  9. java socketchannel api,SocketChannel API
  10. html css 前端实现消息提醒数_自学的福音,web前端学习全套视频教程+最新学习思维导图都在这里...