天天看點

利用官方支援為基于GitHub Pages的Hexo部落格啟用HTTPS

HTTP(超文本傳輸協定),是一個基于請求與響應,無狀态的,應用層的協定,常基于TCP/IP協定傳輸資料,網際網路上應用最為廣泛的一種網絡協定,所有的WWW檔案都必須遵守這個标準。設計HTTP的初衷是為了提供一種釋出和接收HTML頁面的方法。
HTTPS(超文本傳輸安全協定),是以安全為目标的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,是以加密的詳細内容就需要SSL。它是一個URI scheme(抽象辨別符體系),句法類同http:體系。用于安全的HTTP資料傳輸。

目前大多數基于 GitHub Pages 的 Hexo 部落格都是利用 CloudFlare 的 CDN 中轉來啟用 HTTPS 的,實作方法可以參考我的文章:《利用Cloudflare為基于GitHub Pages的Hexo部落格添加HTTPS支援》,這樣的做法确實可以起到開啟HTTPS的目的,但是這樣做也有弊端,你會發現 CDN 中轉,國外通路的話,可以起到加速的作用,但是國内通路反而速度降低了,還不如直接連接配接GitHub呢

其實 GitHub 官方是支援自定義域名開啟 HTTPS 的,之前我和大多數人一樣,以為隻有 GitHub Pages 自帶的域名(xxx.github.io)才能開啟 HTTPS,直到有一天我發現了官方在2018年5月1日發表的部落格:《Custom domains on GitHub Pages gain support for HTTPS》,大概講的意思就是從8月份開始, GitHub Pages 上的自定義域名也能開啟 HTTPS 了,下面就具體介紹一下如何實作

如果你以前域名的記錄類型是 CNAME 方式,那麼就不需要做任何更改

如果你以前域名的記錄類型是 A 方式,那麼就需要把記錄值指向以下IP位址:

  • 185.199.108.153
  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

修改好記錄值後,我們需要再次來到你部落格的 GitHub 倉庫,在倉庫的【Settings】- 【GitHub Pages】下勾選【Enforce HTTPS】,注意,如果此時你不能勾選,請删除【Custom domain】裡面你的域名并點選【Save】儲存,重新整理網頁後就可以勾選了,然後在把域名填進去并儲存即可,短時間可能會出現不安全的提示,這是因為加密證書大概一個小時左右才會生效,等一會兒就好了

利用官方支援為基于GitHub Pages的Hexo部落格啟用HTTPS

最後貼一個我的域名解析,可作為參考:

利用官方支援為基于GitHub Pages的Hexo部落格啟用HTTPS

繼續閱讀