開啟 Github Pages 自定義域名 HTTPS 和 HTTP/2 支持?

GitHub Pages 如今已經成為很多 coder 和 designer 做博客的首選方案,因為 Github Pages 服務相比傳統博客有很多吸引用戶的點。例如 100% 靜態化,輕量級,天然的版本控制,Github 提供免費的伺服器資源等等。最近 Github 已經支持了 *.github.io 強制 https 鏈接,在 repo 的設置中可以打開。但是如果我們開啟了自定義域名,就無法讓博客通過 https 來訪問了,這篇文章的方法是藉助 Cloudflare 提供的免費 CDN 服務,為 Github Pages 博客開啟 HTTPS 支持,同時也會啟用 HTTP/2 的支持。按照 Google 的說法,應該會對 SEO 有所幫助,應該 = =#。

GitHub Pages 自定義域名

首先為 GitHub Pages 設置自定義域名,簡單來說,就是將你的域名寫入一個文件名為 CNAME 的文件,放在根目錄下並提交到 Github。然後在域名提供商里為你的域名添加兩條 A 記錄,分別指向 192.30.252.153192.30.252.154。需要注意的是,如果開啟了自定義域名支持,GitHub 提供的子域名 *.github.io 的 HTTPS 就無法生效了。這裡放上 Github 官方的 Guide,點擊打開

設置 Nameserver

每個域名提供商的設置方法可能會有差異,但應該都大同小異。簡單來說就是 在你的域名提供商的設置里,將你的域名的 Nameserver 指向 Cloudflare 提供的 Nameserver 一般來說會有兩個 Namerserver。具體的 伺服器地址可以在 Cloudflare 的官網上找到。只需要找個這個 Guide 去設置就好了。點擊傳送門。

配置完成後可能需要等一段時間,等 DNS 生效。配置完成後的效果圖大致是這樣:

開啟 SSL

不帶小綠鎖,怎麼提升逼格。那麼下面開始配置 HTTPS 吧。在 Cloudflare 的站點管理頁面,切換到 Crypto 這個標籤頁。將 SSL 的模式切換到 「full」。具體情況請看下圖:

現在你的域名應該就可以支持 https 訪問了,但是你會發現,如果別人輸入你的域名,例如 arithxu.com/,瀏覽器依舊會以 http 協議來訪問,並不會跳轉到 https。

HTTPS 跳轉

看到這裡你可能想到了用 js 跳轉到 https,那就太麻煩了,其實我一開始也是這樣做的。簡單的方法是,Cloudflare 提供了一個名叫 Page Rules 的頁面規則的功能。可以對不同規則的 URL 做一些處理。在 Pages Rules 標籤頁,新建一個 Page Rules 具體操作如下圖:

完成後點擊 「Save and Deploy」,就 OK 了。

推薦閱讀:

GitHub 進行化學實驗進程式控制制?
從 0 開始學習 GitHub 系列之【Git 進階】
如何讓自己的博客能夠被Google搜索到?
一套完整的Android通用框架

TAG:GitHub | GithubPages | 博客 |