45/70 GithubPages+https


layout: "post"
title: "GithubPages+https"
date: "2017-04-13 18:51"


https 简介

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决 HTTP 协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS和HTTP的区别主要为以下四点:

  • https 协议需要到 ca 申请证书,之前免费的证书比较少,所以一般国内只有财大气粗的网站使用该协议,但现在情况不同了,一些网站提供了免费的 HTTPS,可以试用下,个人用户往往功能不全,但是免费的。
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  • http的连接很简单,是无状态的;HTTPS 协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比 HTTPS 协议安全。

值得注意的是:HTTPS 可能会略微影响你的访问速度,但它足够安全,因此如果可以的话,建议都上 HTTPS,现在的各种流氓运营商恶意软件,往往会篡改 HTTP 页面的内容,如果你使用 HTTP 的话,当你访问京东商城时,可能会遇到京东主页被篡改,一些商品被链接到非官方网站;更有甚者,手机下载 APP 的网站被篡改,意外的下载了病毒软件。

Github Pages

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默认提供的域名 github.io 或者自定义域名来发布站点。Github Pages 支持 自动利用 Jekyll 生成站点,也同样支持纯 HTML 文档,将你的 Jekyll 站 点托管在 Github Pages 上是一个不错的选择。一般一个库的最大容量是 500M,如此大的容量写博客的话完全绰绰有余了,和其他方式相比,优点是不需要花钱买 VPS 而且定制性也更强;缺点是公有库的话会让你的内容可以被所有人看到。

原生 Github Pages 可以在线帮你将 jekyll 文件生成 html 文件,而其通过其他方式构建的网站,如 hexo 等则必须本地生成 html 将 html 上传后才可以正常访问,两者各有优缺点:

  • jekyll 在线生成速度慢,且缺少比较好看精致的模板。
  • hexo 等其他页面可以做出很好的效果,但需要本地生成 html 较为麻烦。

由于 github pages 的部署并不是特别容易,也相当于一个单独的篇幅,这边不再另做介绍,详细可以参考文章Github Pages + Jekyll 独立博客一小时快速搭建&上线指南GithubPage+Hexo搭建博客

https 部署

该部分详细内容可以参考Secure and fast GitHub Pages with CloudFlare,这边只对这部分内容做个补充说明。

GitHub Pages 不支持上传SSL证书,我们采用 CloudFlare 提供的免费 HTTPS 服务。CloudFlare 是一家CDN提供商,它提供了免费的 HTTPS 服务(但不是应用 SSL 证书)。实现模式就是,用户到CDN服务器的连接为 HTTPS,而 CDN 服务器到 GithubPage 服务器的连接也为 HTTPS,但 GithubPage 服务器上不嵌入证书,我们可以采用如下图的方式 1 和方式 2 。

详细步骤可以分为以下几部:

  • 注册并登录 CloudFlare,并将自己域名下的 name server 修改为 CloudFlare 的 name server,那万网为例,就是在域名管理下,将DNS服务器从万网的地址改为 CloudFlare 提供的地址,例如:boyd.ns.cloudflare.comdonna.ns.cloudflare.com
  • 在 CloudFlare 的 DNS 中设置,因为你不存在 IP 地址,所以这边选用 CNAME,name 中填入你需要显示的域名名称,IPv4 中填入跳转的地址即 github pages 的地址。以上内容基本上任何域名服务网站都一样,不仅限于 CloudFlare。
  • 下面正式加入 HTTPS 服务,在 CloudFlare 的 Crypto 设置 SSL 为 Flexible 或者 FULL 均可,注意这边并不是立即生效的,需要等待一段时间。
  • 在 CloudFlare 的 Page Rules 中设置路由规则,这边功能就比较多了,我们可以将它理解为一个具备小型功能的服务器,里面一些功能之前是需要通过自己服务器上面设置的。这边只说两种常用功能。其一,设置 http://yoursite.com/* 强制使用 HTTPS ,这样的话,所有访问 http://yoursite.com/* 的操作都会变为https://yoursite.com/* 。其二,可以将目标地址重定向,输入 http://www.yoursite.com/* 然后选择 forwarding URL ,选择 301 重定向,下面输入 https://yoursite.com/* 。这时,你访问 http://www.yoursite.com/* 时将会自动跳转到 https://yoursite.com/* 页面。注意:如果有多个规则的话,强制 HTTPS 的规则要放在第一位。

注意:以上步骤设置后并非立即生效,需要等待一段时间。

其他补充

CNAME 中设置跳转的目标页面,一般 CNAME 设置后,会将你的域名作为主要显示域名,一般网站是不允许这么做的,Github Pages 加入了 CNAME 认证,只有两者一致的话,才会返回结果,否则返回错误页面,大多数网页也都是如此。注意这些设置不是立刻生效,我们可以这么验证,如果 CNAME 设置成功了,则会返回 Invalid URL,因为你的域名不被对方认可拒绝访问;而如果 CNAME 没有成功,则会跳出:This page isn’t working,代表服务器不响应。

采用 CNAME + CloudFlare 的 Page Rules 可以不需要本地服务器,即可完成域名的跳转,具体方法如下:

  • 需要建立一个 CNAME 跳转,名称可以是你需要跳转的地址,因为如果不设置的话,下面步骤可能不会生效。
  • 我们只需要设置 Page Rules ,将里面的规则进行更改,如:可以将目标地址重定向,输入 http://www.yoursite.com/* 然后选择 forwarding URL ,选择 301 重定向,下面输入 https://www.qq.com/*,一般这个不是立刻生效,需要耐心等待,页面如果跳出 CloudFlare 相关信息,很可能是已经设置成功,但还没有生效。

参考链接:
http://baike.baidu.com/link?url=2m1AdjLvBGnRv4lsaPqsNch_ZFdA_jp-YVdn4FBcZhszyRB7naHX2d9mLytRTtgCcv8qLczVjLKxVZJWFnOrmq
http://blog.csdn.net/u010887744/article/details/50762202
https://blog.cloudflare.com/secure-and-fast-github-pages-with-cloudflare/
https://www.seozac.com/seo/301-redirect/
https://www.zhihu.com/question/20376047?sort=created
https://pages.github.com/
http://jekyllcn.com/docs/github-pages/
http://www.freebuf.com/articles/neopoints/45822.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,348评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,122评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,936评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,427评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,467评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,785评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,931评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,696评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,141评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,483评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,625评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,291评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,892评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,492评论 2 348

推荐阅读更多精彩内容