为 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 配置的具体步骤

  1. 设置dns
把自己对应的dns服务器改为cloudflare的,下面以阿里来举例。阿里云 -> 域名 -> 管理 -> 修改dns,出现一下界面:
notion image
这是我已经修改后的,单击右边的修改dns服务器即可,把cloudflare给出的俩个dns地址换上来就好。cloudflare给出的dns地址位于:cloudflare -> dns -> Cloudflare Nameservers。

如何判断更换dns成功?

回到cloudflare后,单击overview,如果成功会出现:
notion image
  1. 设置dns信息
cloudflare -> dns -> DNS Records 如果这里没设置时有记录先删除,新增一条记录:
notion image
  1. 设置ssl&强制跳转
cloudflare -> crypto -> SSL 勾选 flexible
cloudflare -> crypto -> Always Use HTTPS 勾选 on
  1. 等待&排错
大概10mins - 30mins左右就会生效,可以在等待的时候使用ping命令来ping个人的域名查看ip。如果你的博客出现以下情况:
notion image
检查gitpage的设置,取消掉勾选的 Enforce HTTPS 选项,这个设置是有缓存的:
notion image
可以切换 source 或者 theme chooser 这样可以清理掉缓存的 Enforce HTTPS 选项信息。

参考资料


© i7eo 2017 - 2022