personal domain binding

其實我用 Hexo 有兩年了吧,原本覺得使用 GitHub 預設的域名(username.github.io)就可以了,但發現記憶點較低,而且想到 GitHub Pages 本來就有提供 custom domain 的綁定功能,所以最近動手換成自己的網域名稱,整個流程快又簡單,很推薦有在經營自己部落格的跟著我做一次唷!

因為我的網域是先前就在 godaddy 購買好的,所以就以它為舉例對象。

一、到 godaddy 設定 DNS

路徑:我的產品 / DNS 管理

一開始進去設定頁面,會看到一些已經存在的紀錄,像是 NS, SOA 等,那些是 godaddy 預設自動產生的,這些今天都不會用到~
設定DNS

1. 新增指向 GitHub 的主機 IP 紀錄

點選新增紀錄按鈕,把 GitHub 的主機 IP 加入設定。主機 IP 是 185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153

  1. A 紀錄:將一个域名解析到一個 IP 地址。
  2. github 主機 IP 相關文件

2. 設定 CNAME 到原先的 username.github.io

CNAME 主要是用來為網域新增別名,設定完成後,就算是使用原本的網址 https://username.github.io 也能順利導到你買的這個網域。
然而這個類型應該是本來就有的,所以只要點選表格右側的編輯按鈕,將名稱改成 www、資料內容改成 username.github.io (以我為例就是 https://annielin28815.github.io/),這樣就可以儲存了。

  1. CNAME 紀錄:將一个域名解析到另外一个域名。
  2. 其實將名稱改成 www 的方式,作用是會先解析成 username.github.io,然後再根據 CNAME 設定轉至你的網域,等於它中間是經過一次轉換的,這樣的作法就可以讓其他人,不論有沒有輸入 www 都能順利連結到你的網站。

二、在專案程式碼中設定新網域

1. 新增 CANME 檔案

在 Hexo 架構的 source 資料夾裡,新增 CNAME 檔案,裡面寫上你購買的網域,這樣就能避免在執行 Hexo generate 指令 產生新動態檔案的時候,覆蓋掉原先在 Github Pages setting 內的域名。

新增 CNAME 檔案

引用自此文章

2. 修改網站配置文件

找到 _config.yml 檔案,搜尋一下關鍵字 url:,後面的網址改成你購買的網域。(以我為例就是 url: http://annielin.cc/ )。

三、調整 Repo 的 GitHub Pages 設定

路徑:https://github.com/username/username.github.io/settings/pages

最後一個環節,就是到 blog 的 GitHub Pages 頁面,在 custom domain 欄位中輸入你的域名,點擊 save 即可。它會有 3 個流程驗證 TLS 的部分,通常需要一些時間,有些前輩們分享15分鐘後就完成,但我個人是等了2天多(?)總之,驗證完成後,建議勾選下方的 Enforce HTTPS,強制啟用 HTTPS 來增強安全性。

GitHub Pages Settings

完成啦~是不是很輕鬆快速地就完成個人網域的設定了呢?其實過程也是參考很多前輩們分享的文章整理而出,只是最近嘗試寫文章時,將內容搭配圖文方式呈現,希望可以更便於來看文章的人理解,如果文章內容有誤、或有其他建議,歡迎再留言跟我說,謝謝大家~