DNS / HTTPS 簡單說

RYAN
8 min readApr 17, 2016

--

DNS, Domain Name Server 的縮寫

當你在瀏覽器上輸入一串網址,最後抵達你想去的網站,這中間的過程都是透過在「雲端」(網路) 的 DNS 幫你完成的。

在介紹 DNS 的運作流程前,先瞭解一下跟網址(或稱網域)有關的名詞。

網域的基本關鍵字

IP

一組被 . (英文的句號) 隔開的數字,一組 IP 通常是有 3 個句點來隔開 4 組數字。i.g. 192.168.xxx.xxx

用來表示「電腦的位置」,可以想像成電腦在「網路世界的地址」,在網路的世界,主要是透過 IP 來互相溝通,一組 IP 代表一個節點,通常都會被視為一個電子裝置,例如:我們平常用的 PC 或者 Server.

全世界有個管理並分配 IP 的最高機構:ICANN

Public IPs v.s. Private IPs

顧名思義,IP 分為兩種:公有 IP 和私有 IP

因為不是所有的裝置都都需要使用到公有 IP(不是所有的裝置都需要放到公共的網路上,讓大家連接的意思),因此有了私有 IP 的設定。

私有 IP 被分成三個層級:

  1. 192.168.x.x
  2. 10.x.x.x
  3. 172.x.x.x

(x = 0~255)

Domain Name, 網域、網址、域名

因為 IP 是一串數字,對人類來說太難去記憶,所以 Domain Name 可以幫主機取一個人類看得懂的名字,一個 Domain Name 可以對應到一組 IP,所以你在瀏覽器輸入網域,就能連到網站所在的位置。

i.g. www.google.com , www.yahoo.com

額外補充 — 域名等級

Top Level Domain(TLD), 頂級域名:.com / .org / .hk
Generic Top Level Domain(gTLD), 通用頂級域名:.tw / .hk / .us

還有更多更細的分級,可以參考 wiki

額外補充 — 域名組成

Root domain, 根網域:example.com
Sub domain, 子網域:abc, abc.example.com

Domain Name Server(DNS), 網域伺服器

讓有意義的、人類能記得住的主機名稱,能夠轉換成電腦熟悉的 IP 位置。

Domain Name Registrar, 網域註冊商

可以註冊與管理你自己的 Domain,是「當你在瀏覽器輸入網域」後的第一個請求進入點。

Name Server, 網域伺服器

Registrar 的設定,會指到 DNS Manager,請求會在這邊被解析並分配到該去的地方。

一個網域,網域註冊商通常會提供兩台以上的 Name Server 去做處理。

DNS Manager, DNS 管理員

設定 Domain 會如何運作的地方,Forwarding Rules 和 Records 的設定都會在這裡操作。

Record, 網域紀錄

Domain Name 設定表格中的一個欄位,每個 Record 都會由一個 Host (主機)及 Value 所組成。通常有 A Record, CNAME, MX, TXT 可以做設定。

以 example.com 為例:
Root Host 為 @
Sub-domain Host 就是 Sub-domain 的 Value. i.g. www

Record — A Record

簡單來說,那個網址對應那個 IP
Root Domain 只能被導到 A Record,例如:@ to 192.168.x.x

Record — CNAME:

「另外一個 Domain」,為一個網域的別名,通常為 Sub-domain,允許更彈性的指到目標 IP。可以將別名指到一個 A Record,同一台主機能夠具備不同的服務,可以設定不同的 Domain。

以 example.com 為例:

www to domains.shoplineapp.com — www.example.com 會對應到目標。
shop to domains.shoplineapp.com — shop.example.com 會對應到目標。

更白話一點:

前置設定
IP — 地址
Domain Name — Ryan 的家
CNAME — 帥哥的家 XD

當你開始寄了一封信
你在 Browser 輸入了「Ryan 的家」,就像是你寄了一封信到 Ryan 的家,接著這封信會先到 Name Server,裡頭會記錄著 Ryan 的家 (Domain Name) 對應的地址 (IP),接著 Name Server 它會幫你送到 Ryan 家的真實地址 (IP)。

但你在 CNAME 設定了另外一個別名,也對應到 Ryan 家的地址,所以當你寄信到「帥哥的家」,也會寄到 Ryan 家的地址。

Record — MX:

設定郵件的主機

Record — TXT:

可以設定任何值,用來「說明、描述」該 Domain,通常被一些服務用來認證該 Domain 的擁有者。i.g. google verification

網域是如何運作?

  1. Browser
  2. Domain Name Registrar (Name Server, DNS Manager)
  3. IP Servers

www.google.com 為例:

當你在瀏覽器輸入「www.google.com」,接著瀏覽器會將請求丟到 DNS,接著 DNS 會幫你把 www.googl.com 轉換成 IP 位置,連到 www.google.com 的網站主機位置。

如何將網域從 A 註冊商轉移到 B 註冊商?

網域轉移的流程,會遵守 Domain Transfer Policy。

國際域名通常有幾種情況無法轉移:

  1. Domain 註冊不到 30 天
  2. Domain 過期了
  3. Domain 剩不到 30 天就過期
  4. Domain 在最近 30 天內,曾更新過 WHOIS

Domain 轉移的流程:(以 Godaddy 為例)

  1. 到原註冊商解除 domain 的鎖定 (Registry Lock)
  2. 到原註冊商,每個要轉移的 domain,在域名設定項目裡,去寄送認證碼,然後到自己信箱收信。
  3. 到新註冊商執行 Transfer,Add to cart
  4. 接著點選 View cart,然後付款
  5. 等待新註冊商寄送確認 mail 到 Whois 註冊的管理者信箱,你可以點選信裡面的 Approve Transfer,等待網頁跳出 Approved
  6. 原註冊商收到轉移通知後,會發出 email,然後可以到控制界面點擊 Domain 的 launch,點擊 Domains 看列出來的 Transfer,然後點選Pending Transfer out
  7. 勾選所有要轉移的網域,點擊 Accept Transfer
  8. 會收到註冊商的通知:把轉移出去的 Domain 刪除 mail
  9. 1~7 約需花費兩天

關於 HTTPS

一般來說,當 Server 跟 Client (Browser) 在傳輸資料時,資料通常為 Plain Text (明文),如果過程中被別人攻擊了,資料很容易被竊取。因此有了 HTTPS 的出現,其實就是 HTTP + SSL。

關鍵字

SSL, Secure Socket Layer

  • 協定
  • 可以加密傳輸的資料
  • 確保傳輸資料的完整性
  • 在傳輸時,Server 能夠先向 Client 證明自己的身份

SSL Certificate, SSL 數位憑證

由可信任的 CA 發放。

分作幾個等級:

  • Standard SSL Certificate 標準型 — 只對單一網址有效
  • Wildcard SSL Certificate 通用型 — 適用於所有子網域 sub-domain
  • Multi-Domain SSL Certificate 多域型 — 同一台 server 的所有網域
  • Extended Validation Certificate 擴展型 — 只頒發給企業

CA

管理、發放數位憑證的單位

參考資料

  1. wix transfer domain (60 days):https://www.wix.com/support/html5/ugc/939a08a7-7e1f-4ed6-af51-7795e60d5d43/e6798abe-14bd-48ed-b06a-e7aff2212a89
  2. SSL certificate 種類:
    https://wpbox.tips/https-certificate-introduction/
  3. SSL FAQ:
    https://www.thawte.com/resources/getting-started/ssl-faq/
  4. Multiple SSL certificates for single domain:
    http://serverfault.com/questions/525581/multiple-ssl-certificates-for-a-single-domain-on-different-servers
  5. Symentec guide:
    https://www.symantec.com/content/zh/tw/enterprise/white_papers/b-beginners-guide-to-ssl-certificates_WP.pdf
  6. PCHOME 如何買 domain:
    http://myname.pchome.com.tw/learn/teach.htm
  7. godaddy transfer policy(60 天內在轉移會失敗):
    http://www.domainclub.org/archive/index.php/t-18388.html
  8. ICANN domain transfer policy:
    https://archive.icann.org/en/transfers/policy-12jul04.htm
  9. SSL & CA:
    http://www.wosign.hk/Basic/aboutssl.htm
  10. SSL:
    https://www.evo-mailserver.com.tw/support/ssl_certificate.php
  11. 從 godaddy 轉 domain 到其他網域註冊商的流程:
    http://www.domainclub.org/showthread.php?t=37488
  12. 有了 domain 後,設定 DNS server 與 DNS record:
    http://www.9i543.com/9501/websys

--

--

RYAN

Life Hacker.Engineering.Ramen Gluttony.The King of 散策