利用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持
文章目錄
- ● 前言
- ● 注冊 Cloudflare
- ● 添加站點
- ● 修改DNS
- ● 開啟 HTTPS
- ● 重定向強制 HTTPS
HTTP(超文本傳輸協(xié)議),是一個基于請求與響應(yīng),無狀態(tài)的,應(yīng)用層的協(xié)議,常基于TCP/IP協(xié)議傳輸數(shù)據(jù),互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有的WWW文件都必須遵守這個標準。設(shè)計HTTP的初衷是為了提供一種發(fā)布和接收HTML頁面的方法。
HTTPS(超文本傳輸安全協(xié)議),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細內(nèi)容就需要SSL。它是一個URI scheme(抽象標識符體系),句法類同http:體系。用于安全的HTTP數(shù)據(jù)傳輸。
● 前言
GitHub Pages 自帶的域名(xxx.github.io)支持開啟 https 服務(wù),可以在倉庫的【Settings】- 【GitHub Pages】下勾選【Enforce HTTPS】即可,但是如果你設(shè)置了自定義域名的話,就比較復(fù)雜了,因為 hexo 博客是托管在 GitHub 上的,沒有自己的服務(wù)器,因此也不支持上傳 SSL 證書,從2018年5月1日起,GitHub官方也支持自定義域名開啟https了,實現(xiàn)方法可參考我的文章:《利用官方支持為基于GitHub Pages的Hexo博客啟用HTTPS》,另外一種方法就是利用 Cloudflare 的 CDN 中轉(zhuǎn)來啟用 HTTPS,這種方法的弊端就是國內(nèi)訪問速度可能會變慢,本文主要講述這種方法
Cloudflare 是一家美國的跨國科技企業(yè),以向客戶提供網(wǎng)站安全管理、性能優(yōu)化及相關(guān)的技術(shù)支持為主要業(yè)務(wù),它提供了免費的 https 服務(wù),注意不是應(yīng)用SSL證書,實現(xiàn)原理:用戶到CDN服務(wù)器的連接為 https 方式,而CDN服務(wù)器到 GithubPages 服務(wù)器的連接為 http 方式,在CDN服務(wù)器那里加上反向代理
● 注冊 Cloudflare
到 Cloudflare官網(wǎng) 注冊賬號
● 添加站點
添加你的站點,一直下一步即可
如果你已經(jīng)在域名服務(wù)商那里解析過域名的話,之后就會出現(xiàn)你域名的解析列表,如果還沒有解析過,可以參考《為hexo博客配置個性域名》
● 修改DNS
點擊下一步 Cloudflare 會提供給你兩個 DNS 地址
到域名服務(wù)商那里修改DNS,以阿里云為例,依次選擇【控制臺】-【域名】,選擇你的域名,點擊【管理】-【修改DNS】,將上面 Cloudflare 提供的兩個 DNS 地址填進去,會過幾分鐘才生效
● 開啟 HTTPS
在 Cloudflare 管理頁面,點擊【Crypto】選項,選擇 SSL 的模式為【full】,注意:在CloudFlare 上激活站點后,可能需要24小時才能頒發(fā)新證書,耐心等待即可
關(guān)于三種模式 Flexible、Full、Full (Strict) 的區(qū)別:
-
Flexible:訪客與 Cloudflare 之間是加密的,Cloudflare 到站點服務(wù)器是不加密的
-
Full:訪客到 Cloudflare、Cloudflare 到站點服務(wù)器都是加密的,它不會驗證你服務(wù)器上的證書是否合法,因此你可以在你服務(wù)器上安裝任何證書,包括自簽名證書
-
Full (strict):訪客到 Cloudflare、Cloudflare 到站點服務(wù)器都是加密的,它會驗證你服務(wù)器上的證書是否合法,你必須在你的服務(wù)器上安裝有可信賴的CA證書,并且這個證書必須是未過期,包含有域名等信息的
至此,我們的域名就支持 https 訪問了,但是當(dāng)用戶輸入 http://xxxxxx 訪問時,瀏覽器依舊會以 http 協(xié)議來訪問,并不會跳轉(zhuǎn)到 https,這時候就需要利用重定向來解決了
● 重定向強制 HTTPS
Cloudflare 提供了一個名叫 Page Rules 的頁面規(guī)則的功能,我們可以利用此功能對 URL 做一些處理,當(dāng)用戶訪問是 HTTP 的時候重定向到 HTTPS,點擊【Page Rules】選項,點擊【Create Page Rules】,新建如下規(guī)則并保存即可
現(xiàn)在我們的 Hexo 博客就實現(xiàn)了全站 HTTPS!
總結(jié)
以上是生活随笔為你收集整理的利用Cloudflare为基于GitHub Pages的Hexo博客添加HTTPS支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人民币又升值了!如果人民币与美元的比价达
- 下一篇: 关于@DateTimeFormat 和