
紀錄筆記及關聯文章,對 CNAME 終於有點眉目。
如果是用現成的網路服務,例如 Medium,以下內容都不會碰到。
單純買網址加入購物車付費,只能取得所有權;但是要讓網址可以連到網站、網站有 HTTPS 鎖頭,需要瞭解些技術設定。
HTTPS 網址後面的三件事
- 買網域 Domain Name
- 到域名商後台設定 A 或 CNAME
- 設定 HTTPS
以 https://pala.tw 舉例,先說明 pala.tw,接著談 https。
買網域 Domain Name
pala.tw
是網域,向域名商購買,例如Godaddy、Gandi,不用安裝什麼,像是網路上獨一無二的地標招牌。
連結的時候依照 A 與 CNAME 設定,會指向某四個數字的伺服器IP地址。
到域名商後台設定A或CNAME
買完域名,設定 A 紀錄、CNAME 讓域名可以指向網站伺服器 IP 地址。
用更好懂的說法,就是讓花錢買的有意義英文網址,可以透過神奇的魔法連結到伺服器在網路世界裡所居住的神秘四個數字地址。
把瀏覽器當計程車司機,完成這個步驟後,以後說要去「台北 101 大樓」,老司機就明白你要去的地點是「台北市信義區信義路五段 7 號」順利帶你到目的地。
A(Address)設定指向一個或多個IP地址
A 指向複數 IP 地址。
A 指向一個 IP 地址。
例如我架的測試站 IP 為 139.162.46.7 ,可以直接連線;當我買域名後,設定A指過去,所以 lunar.im 也會連到同個 IP,但有意義的字串好記多了。(測試站連結無續購,故已失效,看文章理解概念即可)
同樣用計程車比喻,我不知道科技大樓捷運站的門牌號碼,但我跟司機說要去「科技大樓捷運站」,就會在司機腦海中關聯到一個地點讓我成功抵達。
CNAME(Canonical Name)指向一個名稱而不是IP地址
A(Address)是關連名稱與地點,同前述的「台北 101 大樓」之於「台北市信義區信義路五段 7 號」。
CNAME 則是關連名稱與名稱,假設有兩間餐廳分別叫「好棒棒高級料理」、「好好吃日式料理」都開在「台北 101 大樓」內。
當我們跟司機說要去這兩間店用餐時,同樣會被帶到「台北 101 大樓」所在的「台北市信義區信義路五段 7 號」,因為這兩間就開在這棟樓裡面。
未來假設「台北 101 大樓」整棟被超自然力量轉移到其他地址也沒關係,餐廳開在大樓內,大樓的地址有更新就好,大樓在哪餐廳就在哪。CNAME 指向的名稱,最終還是會找到 A(Address),可參考下圖。
出處:Differences Between A and CNAME Records
A 與 CNAME 的使用時機
如同上述餐廳關聯「台北 101 大樓」的例子,當網站有許多子網域,例如 demo.lunar.im、news.lunar.im 時,就可以用 CNAME 直接指到 lunar.im,往後伺服器位置異動,只要改一次 lunar.im 的 A 就可以了。
如果當初 demo.lunar.im、news.lunar.im 這些直接用 A 指向,就必須個別修改。
點擊 https://demo.lunar.im/ 測試,這頁的地區換成了高雄市。(測試站連結無續購,故已失效,看文章理解概念即可)
demo.lunar.im 會找到 CNAME 填寫的 lunar.im,再從 lunar.im 找到 A 設定的 IP 地址。
子網域會需要瞭解 Apache Virtual Host 設定,本文先…略過。
延伸閱讀:CNAME and A records, when should they be used?
設定HTTPS(Hypertext Transfer Protocol Secure)
HTTPS 是通訊協定,代表這個網站有拿到憑證比較安全,憑證需要另外申請和安裝到伺服器,並不是加到購物車連同域名,整包點一點完成。
圖片來源:DOG COM。
用網路購物比喻,可以想像成 HTTP 是透明的箱子,裡面裝什麼會被看光光,如果是重要資訊如信用卡有安全疑慮。
HTTPS 需要申請 SSL 憑證安裝到伺服器或是透過 Cloudflare 鏡像網站,概念像旅館通過認證中心核發合格證書,並把它掛出來讓大家看到。
完成後網址前面會有鎖頭,新版 Chrome 非 HTTPS 連線會直接標示不安全。
中繼憑證。
根憑證。
截圖中的憑證有三層,包含中繼憑證和根憑證,層層授權的信任鍊,就像是對合作窗口的信任,基於背後有主管授權,主管背後有老闆授權如此這般。
HTTPS 是雙向的,不存在一邊用 HTTP、但另一邊用 HTTPS 溝通;就像一通電話有加密雙方通話過程就是有加密。