綁定域名到 GitHub Pages

GitHub Pages 綁定來自阿里雲的域名

簡介

我在阿里雲上註冊了一個新域名:yuanzb.com,我已經在GitHub Pages上創建了本身的博客:http://yuanzb.github.io/yuanzb/。如今我但願將yuanzb.com映射到http://yuanzb.github.io/yuanzb/。主要參考資料:git

  1. Setting up a custom domain with GitHub Pages
  2. 建立GitHub技術博客全攻略 - 第九部分:CNAME綁定域名
  3. Hexo在github上構建免費的Web應用 - 第4.3節:設置域名

第一步:建立CNAME文件夾

在你的我的博客倉庫的根目錄中新建文件CNAME(注意沒有後綴),在該文件增長一行文字,告訴Github Pages服務器你想指定的域名。該域名不能包含前綴信息,即不能添加http:\\前綴。github

 

!重要補充!CNAME文件名必定要大寫,不然Github Pages服務器沒法識別和解析。我就出現了這樣的問題。個人CNAME綁定域名是正確的,經過ping yuanzb.comping yuanzb.github.io兩條指令,我發現了他們都指向同一個IP地址(即個人博客IP地址),但是我在使用瀏覽器訪問的時候,會出現Site not Found提示,這個時候我就只能合理的懷疑Github Pages服務器根本就沒有把yuanzbyuanzb.github.io綁定起來,即個人CNAME文件設置錯誤。Google以後發現CNAME文件名的大小寫會產生影響(My custom domain isn't working),萬惡的Windows系統不區分文件名大小寫,因此即便你在本地更改了CNAME大小寫而後push到github,仍是沒有用。。。我就只好到github上去修改爲大寫了。。。坑。。。瀏覽器

每一個CNAME文件能且只能指定一個域名。更多關於增長CNAME文件的信息可見Adding a CNAME file to your repository緩存

第一步的目的是,Github讀取你的CNAME以後,Github服務器會設置yuanzb.me爲你的主域名,而後將yuanzb.github.io重定向到yuanzb.com服務器

第二步:CNAME綁定域名

登陸阿里雲單域名控制檯,在域名解析中添加如圖所示的解析hexo

默認使用阿里雲提供的萬網DNS服務器。固然你也可使用DNSPOD提供的DNS服務器,這樣可使你的域名在國外更快速的傳播。當你使用DNSPOD提供的DNS服務器時,除了DNS服務器不同之外,其餘的設置(好比A記錄和CNAME記錄)均相同。如下咱們簡要分析咱們所添加的A記錄和CNAME記錄的含義。dom

在域名解析中,A記錄就是直接指定一個IP,CNAME就是重命名,指向另外一個域名。阿里雲

  1. 在阿里雲控制檯,設置主機記錄www,記錄類型爲A,記錄值是IP192.30.252.153。其中192.30.252.153是Github Pages服務器指定的IP地址,訪問該IP地址即表示訪問Github Pages。
  2. 在阿里雲控制檯,設置主機記錄www,記錄類型爲A,記錄值是IP192.30.252.154。同上。
  3. 在阿里雲控制檯,設置主機記錄@,記錄類型爲CNAME,記錄值是yuanzb.github.io.。表示將http://yuanzb.com這個主域名映射yuanzb.github.io。在這裏千萬不要忘記記錄值中.io後面還有一個點.
  4. 可是不少時候,咱們只想將子域名綁定到博客地址。好比若是你想將blog.yuanzb.com(即博客子域名地址,主域名地址是www.yuanzb.com)映射到yuanzb.github.io,那麼在主機記錄中就應該填寫blog,記錄類型爲CNAME,記錄值是yuanzb.github.io。由於你的主域名已經默認爲yuanzb.com,因此主域名和主機記錄合起來就是blog.yuanzb.com。並且這個時候,你github項目的CNAME文件內容也應該相應的改成blog.yuanzb.com,由於你是想將yuanzb.github.ioblog.yuanzb.com綁定起來,而不是和www.yuanzb.com綁定。
  5. 若是你想將www.yuanzb.com(即主域名地址)映射到yuanzb.github.io,那麼主機記錄就是www,記錄類型是A,記錄值是具體的IP地址(在咱們這個例子中是192.30.252.153192.30.252.154)。由於你的主域名已經默認爲yuanzb.com,因此主域名和主機記錄合起來就是www.yuanzb.com

你能夠將多個域名都映射到xxxxx.github.io之類的你本身的站點上,可是須要新建不一樣內容的CNAME文件。spa

注意,.me已是頂級域名(和.com.org等域名是同一級的),因此須要使用A記錄進行域名解析。.net

第二步的目的是,告訴全部DNS服務器,對於yuanzb.me的訪問都會被重定向到yuanzb.github.io

第三步:漫長的等待

要全球解析生效,得等上一會了,也能夠先ping一下本身的設置對不對。阿里雲域名服務的工做原理是,在你更新了域名解析以後,首先是阿里的萬網雲解析,而後傳播到各大運營商的DNS服務器,刷新DNS緩存,至此你的域名能夠被訪問。

相關文章
相關標籤/搜索