为 Git Pages 开通 Https 踩坑实录
date
Sep 21, 2017
slug
gitpage-use-https
status
Published
tags
运维
HTTP
summary
如何白嫖https服务😈
type
Post
Https 优点
- 了解到https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
- 最重要的一点,https可以避免dns挟持,就是可以避免在浏览网页时出现一些小广告弹窗!
Git Pages 注意事项
- git page自带https,在对应rep的设置中,点击 Enforce HTTPS 即可。
- git page绑定自定义域名后无法添加ssl证书。
这个时候有点懵了,不过检索多次相关关键字后,发现了cloudflare这个好东西。大概了解了下后就确定用它了。
Cloudflare
- 免费
- cloudflare 的 dns服务器风评还是不错的
- cloudflare 提供 Universal SSL 服务,简单来说就是让任意http站点支持https。
具体原理指的是,用cloudflare的dns服务器,当你访问网页时,网页 -> cloudflare 这个过程是加密的,而 cloudflare -> git page这个过程是非加密(http
具体可参考官方文档:
Cloudflare 配置的具体步骤
- 设置dns
把自己对应的dns服务器改为cloudflare的,下面以阿里来举例。阿里云 -> 域名 -> 管理 -> 修改dns,出现一下界面:
这是我已经修改后的,单击右边的修改dns服务器即可,把cloudflare给出的俩个dns地址换上来就好。cloudflare给出的dns地址位于:cloudflare -> dns -> Cloudflare Nameservers。
如何判断更换dns成功?
回到cloudflare后,单击overview,如果成功会出现:
- 设置dns信息
cloudflare -> dns -> DNS Records 如果这里没设置时有记录先删除,新增一条记录:
- 设置ssl&强制跳转
cloudflare -> crypto -> SSL 勾选 flexible
cloudflare -> crypto -> Always Use HTTPS 勾选 on
- 等待&排错
大概10mins - 30mins左右就会生效,可以在等待的时候使用ping命令来ping个人的域名查看ip。如果你的博客出现以下情况:
检查gitpage的设置,取消掉勾选的 Enforce HTTPS 选项,这个设置是有缓存的:
可以切换 source 或者 theme chooser 这样可以清理掉缓存的 Enforce HTTPS 选项信息。