本文将详细解释如何使用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。
使用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持
HTTP(超文本传输协议)是一种基于请求和响应的无状态应用层协议,通常基于TCP/IP协议传输数据,这是互联网上使用最广泛的网络协议。所有的万维网文件都必须符合这个标准。HTTP最初是为了提供一种发布和接收HTML页面的方式而设计的。
HTTPS(超文本传输安全协议)是一个安全的HTTP通道。简单来说,就是HTTP的安全版本。也就是在HTTP下增加了SSL层,HTTPS的安全基础是SSL,所以加密的细节需要SSL。它是一个URI方案(抽象标识符系统),其语法类似于http:系统。用于安全的HTTP数据传输。
前言
GitHub Pages自己的域名(xxx.github.io)支持https服务,可以在仓库的【设置】- 【GitHub Pages】下勾选【强制HTTPS】,但是如果设置自定义域名,会比较复杂。因为hexo blog托管在GitHub上,没有自己的服务器,所以不支持上传SSL证书。自2018年5月1日起,GitHub正式支持用自定义域名开通https。实现方法请参考我的文章:《利用官方支持为基于GitHub Pages的Hexo博客启用HTTPS》。另一种方法是使用Cloudflare的CDN中继启用HTTPS。这种方法的缺点是国内访问速度可能会变慢。本文主要介绍这种方法。
Cloudflare是美国的一家跨国科技企业。其主要业务是为客户提供网站安全管理、性能优化及相关技术支持。它提供免费的https服务。注意不使用SSL证书的事实。实现原理:用户与CDN服务器的连接为https,而CDN服务器与GithubPages服务器的连接为http,并在CDN服务器上增加了反向代理。
00-1010在Cloudflare官方网站注册帐户
00-1010,添加您的站点,并继续下一步。
如果您已经在域名服务提供商处解析了域名,那么将会有您的域名解析列表。如果还没有解决,可以参考一下。
《为hexo博客配置个性域名》
00-1010单击下一步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支持就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86583.html