一開始是準備用Cloudflare
的,不過由於Cloudflare須要更改DNS服務器,而個人某個二級域名被撈仔們拿去開發招新網頁了,修改DNS服務器會讓整個招新網頁域名解析錯誤,因此我就放棄了這個方案。node
Cloudflare
其實是個CDN服務商,其中開啓SSL有個Flexible選項。開啓後實際上當用戶訪問站點時,訪問的內容是從CloudFlare的CDN服務器傳輸過來的,之間的傳輸採用的就是HTTPS協議,信息是加密的,而CDN與源服務器(github Page)的傳輸用的是普通的HTTP協議。git
官網也告知說,要使用CloudFlare,須要去域名提供商那裏更改DNS服務器,變爲它提供的域名服務器地址。喜聞樂見,我改完DNS後,NW的招新網站就炸了,打擾了。
並且CloudFlare的訪問速度也很慢,很慢,很慢。github
使用tarcert
來跟蹤IP數據報的訪問路徑。發現咱們的訪問路徑,從中國到了部署在歐洲的CloudFlare服務器再到達美國的github服務器。好吧,打擾了。shell
我繼續科學搜索,找到了一個很好用的靜態資源託管平臺Netlify。安全
它是一個提供靜態資源網絡託管的綜合平臺。服務器
簡單來講: 它的功能之一就跟咱們以前Hexo博客的靜態託管平臺 Github Page
同樣, 不過,Netlify可比github Page功能多多了,並且速度也快。二者的對比在netlify官網有介紹網絡
簡單來講它能夠hexo
www.netlify.com 官網有更詳細的文檔內容。
以前的那個 yourname.github.io
的倉庫繼續保留着,能夠不用刪。 app
咱們新建一個倉庫blog-netlify
,不要添加README.md還有其餘的一些東西,就建立個空倉庫就好,否則後續步驟可能會所以報錯。dom
而後咱們在咱們的博客目錄下(.../../hexo)進行git的初始化
git init
咱們須要將hexo生成的靜態文件給忽略掉,還有node_modules,還有其餘一些文件。
將忽略文件添加到.gitignore
文件, 可使用CLI的方式添加,或者手動建立文件,直接輸入須要忽略的文件。
echo "/public" >> .gitignore echo "/node_modules" >> .gitignore echo "/.deploy_git" >> .gitignore echo "/.vscode" >> .gitignore
查看當前的工做目錄和暫存區狀態,若是還看到一些咱們忽略的文件出現,則添加到.gitignore
中。
git status
將文件修改添加到暫存區中,並提交實際改動到分支上
git add . git commit -m "[F]Hello Netlify"
綁定遠程倉庫,輸入剛纔咱們建立的倉庫的地址
git remote add origin <your repo url>
查看綁定狀態
git remote -v
沒什麼問題就push到遠程分支
git push origin master
好了,一個netlify須要用到的倉庫就搞定了,而後到netlify官網 用github帳戶登陸
點擊頁面的新建站點按鈕
選擇Github,
還有就是下面給netlify提供github的權限,這裏須要勾上
選擇你的博客倉庫.
Build command 填入 Hexo g Publish directory 填入 public
點擊部署站點,它就會開始部署,稍等一下能夠看到它的log日誌,沒什麼問題的話,會顯示成功部署。
接下來你能夠經過它提供的二級域名xxxx.netlify.com
來進行訪問你的站點,你也能夠自定義域名,添加自定義域名,先添加不帶www的域名做爲主域名,它會自動添加一個www.domain.cc
重定向到domain.cc
這時它會檢查你添加的兩個域名,域名服務器來檢查是否能夠解析你的自定義域名,如今固然是不能夠的,須要你去添加解析記錄。
一般須要去你的域名提供商那裏添加兩條解析記錄,一條A記錄,一條CNAME記錄
到這裏就能夠 經過自定義域名訪問了,而後就是使用HTTPS了。
Netlify
使用的是 Let’s Encrypt Certificate.
的免費證書,我這裏由於我本身以前在騰訊雲免費申請過證書了,因此這裏就使用我本身的證書.
證書:
第一項須要填的是你當前站點的安全證書,就是上圖的chenpt.cc.crt
第二項是對應的私鑰
第三項是中級證書,就是根證書下來的那個證書,就是上圖的root_bundle.crt
打開證書文件你能夠看到證書路徑以下
使用的證書跟Apache同樣,因此Netlify內部可能使用是Apache來配置HTTPS模塊的。
輸入完畢加載證書。 而後再啓用強制HTTPS。
只能使用HTTPS協議的URL來訪問站點,使用HTTP協議的URL會自動重定向HTTPS協議的URL,內部實現是返回301狀態碼 Move permanently(永久性移動)
如今你想發佈博客還須要hexo g -d 麼?
答案是不用了。
如今是在source文件夾內的_posts文件添加新文章。而後把倉庫的改變提交到分支上,再提交到遠程分支上,Netlify
獲取倉庫改變,會自動部署。 因此如今是很方便了。
並且netlify的速度比github page快了不少,體驗nice!
以前的github page倉庫仍是留着吧,還有就是須要去把以前對github page的域名解析記錄給刪掉。而後就擁抱netlify吧.
但願你們都有小綠鎖.