คู่มือ

โดเมนและ DNS ทำงานอย่างไร: คู่มือสำหรับคนที่ไม่ใช่นักพัฒนา

โดเมนคือชื่อที่คนพิมพ์เพื่อเข้าเว็บไซต์ของคุณ เช่น example.com ส่วน DNS (Domain Name System) คือสมุดรายชื่อของอินเทอร์เน็ตที่แปลชื่อนั้นให้เป็นตำแหน่งจริงที่เว็บไซต์ของคุณอยู่ คุณเช่าโดเมนจาก registrar แล้วเพิ่ม DNS record ที่บอกว่า "เว็บไซต์อยู่ที่นี่" และ "อีเมลไปที่นั่น" การเชื่อมโดเมนที่กำหนดเองเข้ากับแอปส่วนใหญ่คือการเพิ่ม record ที่ถูกต้องในที่ที่ถูกต้อง แล้วรอให้มีผล

ทำไมเรื่องนี้สำคัญเมื่อสร้างด้วย AI

AI app builder สามารถเขียนและโฮสต์แอปของคุณได้ แต่โดเมนของคุณอยู่นอกแอป มักอยู่กับบริษัทอื่น ในแผงควบคุมที่เต็มไปด้วยประเภท record ที่คุ้นเคยน้อย นี่คือจุดที่การเปิดตัวหลายครั้งติดขัด แอปพร้อมแล้ว แต่โดเมนแสดงข้อผิดพลาด หรืออีเมลหยุดทำงานอย่างลึกลับหลังการเปลี่ยน DNS

ความเข้าใจเล็กน้อยช่วยได้มาก คุณจะรู้ว่าผู้ให้บริการโฮสต์ต้องการ record ใด ทำไมยังไม่ได้ผล และหลีกเลี่ยงการทำให้สิ่งที่พึ่งพาโดเมนอยู่แล้ว (เช่น อีเมล) พัง

ตัวอย่างในชีวิตประจำวัน

ลองนึกถึงรายชื่อผู้ติดต่อในโทรศัพท์ของคุณ

คุณไม่ได้จำเบอร์เพื่อนทุกคน คุณแตะชื่อเพื่อนแล้วโทรศัพท์ค้นหาเบอร์ให้ DNS ทำแบบเดียวกันสำหรับอินเทอร์เน็ต คุณพิมพ์ example.com แล้ว DNS ค้นหาหมายเลข (ที่อยู่ IP) ของเซิร์ฟเวอร์ที่ต้องเชื่อมต่อ

  • โดเมน คือชื่อของผู้ติดต่อ
  • registrar คือบริษัทที่บันทึกอย่างเป็นทางการว่าชื่อนี้เป็นของคุณ
  • DNS record คือข้อมูลที่บันทึกไว้ใต้ชื่อนั้น: เบอร์โทร อีเมล ที่อยู่
  • nameserver คือสมุดรายชื่อไหนที่เป็นฉบับทางการของชื่อนั้น
  • การแคช คือโทรศัพท์จำเบอร์ไว้ชั่วระยะหนึ่ง หากเพื่อนของคุณเปลี่ยนเบอร์ บางเครื่องจะยังโทรเบอร์เก่าจนกว่าสำเนาที่บันทึกจะถูกรีเฟรช นั่นคือ DNS "propagation"

ส่วนประกอบของชื่อโดเมน

ลองดู app.example.com:

ส่วนชื่อหมายเหตุ
.comTop-level domain (TLD)ดูแลโดย registry อื่นๆ ได้แก่ .org, .io, .ai และรหัสประเทศ เช่น .uk
exampleSecond-level domainส่วนที่คุณจดทะเบียน
example.comRoot หรือ "apex" domainสิ่งที่คุณเป็นเจ้าของ
appSubdomainคุณสร้างได้ตามต้องการใน DNS เช่น www, app, shop

คุณไม่ได้ซื้อโดเมนขาด แต่จดทะเบียนไว้เป็นช่วงเวลา (มักหนึ่งปีขึ้นไป) และต่ออายุ หากปล่อยให้หมดอายุ คนอื่นสามารถจดทะเบียนได้

การค้นหา DNS ทำงานอย่างไร

เมื่อมีคนพิมพ์ app.example.com:

  1. เบราว์เซอร์ถาม DNS resolver ซึ่งมักดำเนินการโดยผู้ให้บริการอินเทอร์เน็ตหรือบริการสาธารณะ เพื่อขอที่อยู่
  2. หาก resolver มีคำตอบที่แคชไว้และยังสด มันตอบทันที
  3. หากไม่มี มันไล่ลงมาตามลำดับชั้น: root server ชี้ไปยังเซิร์ฟเวอร์ .com ซึ่งชี้ไปยัง nameserver ของโดเมนคุณ
  4. nameserver ของคุณส่ง record ที่คุณตั้งไว้กลับมา เช่น CNAME ไปยังโฮสต์ หรือ A record ที่มีที่อยู่ IP
  5. resolver แคชคำตอบตาม TTL (time to live) ของ record และส่งให้เบราว์เซอร์ที่เชื่อมต่อไปยังเซิร์ฟเวอร์

ทั้งหมดนี้มักเกิดขึ้นในหน่วยมิลลิวินาที

ประเภท DNS record ที่คุณจะได้ใช้จริง

Recordหน้าที่ตัวอย่าง
Aชี้ชื่อไปยังที่อยู่ IPv4example.com → 203.0.113.10
AAAAชี้ชื่อไปยังที่อยู่ IPv6example.com → 2001:db8::10
CNAMEทำให้ชื่อเป็นนามแฝงของชื่อโฮสต์อื่นapp.example.com → myapp.host.com
MXระบุเซิร์ฟเวอร์ที่รับอีเมลของโดเมน พร้อมหมายเลขความสำคัญexample.com → 10 mail.provider.com
TXTเก็บข้อความ ใช้ยืนยันความเป็นเจ้าของและความปลอดภัยของอีเมลv=spf1 include:_spf.provider.com ~all
NSระบุ nameserver ที่มีอำนาจของโดเมนns1.dnsprovider.com
CAAจำกัดว่า certificate authority ใดออกใบรับรอง HTTPS ได้0 issue "letsencrypt.org"

กฎบางข้อที่ควรรู้:

  • CNAME ไม่สามารถใช้ชื่อร่วมกับ record อื่นได้ นั่นคือเหตุผลที่ CNAME มาตรฐานใช้กับ root domain ไม่ได้ เพราะ root domain มี NS และ record อื่นอยู่แล้ว ผู้ให้บริการ DNS หลายรายมีทางเลือกที่เรียกว่า ALIAS, ANAME หรือ CNAME flattening
  • TXT record ทำงานด้านอีเมลได้มาก SPF ระบุว่าใครส่งอีเมลในนามโดเมนของคุณได้ DKIM เผยแพร่คีย์สำหรับตรวจลายเซ็น และ DMARC บอกผู้รับว่าควรทำอย่างไรกับอีเมลที่ไม่ผ่านการตรวจเหล่านั้น
  • หมายเลข MX ที่น้อยกว่าหมายถึงความสำคัญที่สูงกว่า อีเมลจะลองที่ตัวที่น้อยที่สุดก่อน

Propagation และ TTL

คำว่า "propagation" ทำให้ฟังดูเหมือนการเปลี่ยนแปลงกระจายช้าๆ ไปทั่วอินเทอร์เน็ต แต่สิ่งที่เกิดขึ้นจริงคือการแคช resolver เก็บสำเนาของแต่ละคำตอบตาม TTL และจะถามใหม่เมื่อหมดอายุเท่านั้น ดังนั้น:

  • record ใหม่ที่ไม่เคยถูกค้นหามักใช้ได้ภายในไม่กี่นาที
  • การเปลี่ยน record ที่มีอยู่ต้องรอจนถึง TTL เดิมหมดก่อน จึงจะเห็นการเปลี่ยนแปลงทุกที่
  • การเปลี่ยน nameserver อาจใช้เวลาถึงหนึ่งหรือสองวัน เพราะ record เหล่านั้นถูกแคชนานกว่าที่ระดับ TLD

เทคนิคที่มีประโยชน์: ก่อนทำการเปลี่ยนแปลงตามแผน ให้ลด TTL ของ record ลง (เช่น เหลือไม่กี่นาที) รอให้ TTL เดิมหมดไป แล้วจึงทำการเปลี่ยนแปลง

ตัวอย่างการทำงาน: เชื่อมแอปจองคิวเข้ากับโดเมนของคุณ

คุณเป็นเจ้าของ yoursalon.com เว็บไซต์ปัจจุบันของคุณและอีเมล Google Workspace ใช้โดเมนนี้อยู่แล้ว คุณสร้างแอปจองคิวและอยากให้อยู่ที่ book.yoursalon.com

  1. หาว่า DNS ของคุณจัดการที่ไหน อาจเป็น registrar หรือผู้ให้บริการ DNS แยกต่างหาก NS record จะบอกคุณ
  2. เพิ่ม CNAME สำหรับ book ที่ชี้ไปยังเป้าหมายที่ผู้ให้บริการแอปของคุณให้มา
  3. เพิ่ม TXT record ที่ผู้ให้บริการขอเพื่อยืนยันความเป็นเจ้าของ หากใช้วิธีนั้น
  4. ปล่อย MX และ TXT record ของอีเมลไว้เหมือนเดิม อีเมลจะยังทำงานต่อไปเพราะคุณไม่ได้แตะต้อง
  5. ยืนยันในผู้ให้บริการของคุณ เมื่อ DNS อัปเดตแล้ว ผู้ให้บริการจะออกใบรับรอง HTTPS สำหรับ book.yoursalon.com
  6. ทดสอบ บนโทรศัพท์โดยใช้ข้อมูลมือถือ เพราะมันใช้ resolver และแคชต่างจาก Wi-Fi ที่บ้าน

หากคุณต้องการให้แอปอยู่ที่ root yoursalon.com แทน คุณจะต้องใช้ A record หรือฟีเจอร์ ALIAS/flattening ของผู้ให้บริการ DNS ของคุณ และคุณจะต้องแทนที่เว็บไซต์ปัจจุบันของคุณที่นั่น ขั้นตอนเพิ่มเติมดู วิธีเชื่อมโดเมนที่กำหนดเอง

ความผิดพลาดและความเข้าใจผิดที่พบบ่อย

  • "โดเมนกับโฮสติ้งคือสิ่งเดียวกัน" โดเมนคือชื่อ ส่วน โฮสติ้ง คือที่ที่แอปรันอยู่ DNS เป็นตัวเชื่อมทั้งสองอย่าง
  • ใช้ A record ทั้งที่โฮสต์ขอ CNAME (หรือกลับกัน) ทำตามคำแนะนำของโฮสต์อย่างเคร่งครัด
  • พิมพ์ปลายทางผิด อักขระเพียงตัวเดียวผิดใน CNAME ก็ทำให้การยืนยันล้มเหลว
  • เปลี่ยน nameserver โดยไม่คัดลอก record การย้าย DNS ไปผู้ให้บริการใหม่โดยไม่สร้าง MX และ TXT record ใหม่คือวิธีคลาสสิกที่ทำให้อีเมลพัง
  • การ proxy เมื่อไม่ควร ผู้ให้บริการ DNS บางราย เช่น Cloudflare สามารถ proxy ทราฟฟิกได้ บางโฮสต์ต้องการให้ตั้ง record เป็น "DNS only" เพื่อให้ออกใบรับรองได้
  • ลบ TXT record ที่ "ไม่รู้จัก" มักเป็น record สำหรับยืนยันหรือความปลอดภัยของอีเมลที่บางอย่างพึ่งพาอยู่
  • ปล่อยให้โดเมนหมดอายุ เปิดการต่ออายุอัตโนมัติและทำให้บัตรที่ใช้ชำระเงินเป็นปัจจุบันอยู่เสมอ

สิ่งที่ควรขอจาก AI builder ของคุณ

DNS อยู่นอกโค้ดของคุณ ดังนั้นสิ่งนี้เป็นเรื่องของการถามเกี่ยวกับ:

  • "ฉันต้องใช้ DNS record ตัวไหนสำหรับ app.mydomain.com บ้าง ทั้งประเภท ชื่อ และค่า?"
  • "การเปลี่ยนแปลงนี้จะกระทบอีเมลของฉันไหม?"
  • "โดเมนแสดงข้อผิดพลาดหลังเพิ่ม record ฉันควรตรวจสอบอะไร?"
  • "เพิ่ม canonical URL และ redirect ที่ถูกต้อง เพื่อให้ www และไม่มี www ไม่แสดงเว็บไซต์ซ้ำกัน"
  • "ตั้งค่าการส่งอีเมลจากโดเมนของฉัน ฉันต้องใช้ SPF, DKIM และ DMARC record ใดบ้าง?" ดู วิธีส่งอีเมลจากแอปของคุณ

โดเมนที่กำหนดเองบน Mythex

แอป Mythex ที่เผยแพร่แล้วทุกแอปจะได้ที่อยู่ yourname.mythex.app บน Pro คุณใช้โดเมนของตัวเองแทนได้ โดยซื้อโดเมนภายใน Mythex (ค่าจดทะเบียนคิดแยกต่างหาก และ DNS ของโดเมนที่ซื้อจะถูกจัดการให้) หรือเชื่อมโดเมนที่คุณเป็นเจ้าของอยู่แล้วโดยเพิ่ม CNAME จากโดเมนย่อย เช่น app.example.com ไปยังที่อยู่ yourname.mythex.app ของแอปคุณ แล้วคลิก Verify HTTPS จะถูกออกให้อัตโนมัติ หาก DNS ของคุณอยู่บน Cloudflare ให้ตั้ง record นั้นเป็น "DNS only" แนะนำให้ใช้โดเมนย่อย ส่วนโดเมนหลักขึ้นอยู่กับการรองรับ ALIAS หรือ flattening ของผู้ให้บริการ DNS ของคุณ เอกสารโดเมนที่กำหนดเอง อธิบายแต่ละขั้นตอน และ ราคา แสดงสิ่งที่ Pro รวมอยู่

คำถาม

DNS คืออะไรแบบง่ายๆ

DNS (Domain Name System) คือสมุดรายชื่อของอินเทอร์เน็ต มันแปลชื่อที่คนจำได้ เช่น example.com ให้เป็นข้อมูลที่คอมพิวเตอร์ต้องการ ซึ่งมักเป็นที่อยู่ IP เพื่อให้เบราว์เซอร์หาเซิร์ฟเวอร์ที่ถูกต้องเจอ

ความต่างระหว่าง A record กับ CNAME คืออะไร

A record ชี้ชื่อไปยังที่อยู่ IPv4 โดยตรง ส่วน CNAME ชี้ชื่อไปยังชื่อโฮสต์อื่น และการค้นหาจะดำเนินต่อจากตรงนั้น CNAME มีประโยชน์เมื่อที่อยู่ IP ของโฮสต์อาจเปลี่ยน แต่ CNAME มาตรฐานใช้กับโดเมนหลัก (root domain) โดยตรงไม่ได้

DNS propagation ใช้เวลานานแค่ไหน

มักใช้เวลาไม่กี่นาที บางครั้งหลายชั่วโมง การเปลี่ยนแปลงจะปรากฏเมื่อสำเนาแคชของค่าเดิมหมดอายุ ซึ่งขึ้นอยู่กับ TTL ของ record การเปลี่ยน nameserver อาจใช้เวลาถึงหนึ่งหรือสองวัน เพราะข้อมูลเหล่านั้นถูกแคชไว้นานกว่า

การเปลี่ยน DNS ของเว็บไซต์จะทำให้อีเมลพังไหม

จะพังก็ต่อเมื่อคุณเปลี่ยนหรือลบ record ที่อีเมลพึ่งพา ได้แก่ MX record และ TXT record อย่าง SPF, DKIM และ DMARC การเพิ่ม CNAME สำหรับ www หรือ app จะไม่กระทบอีเมล แต่การย้ายโดเมนไป nameserver ใหม่อาจทำให้อีเมลพัง หากคุณไม่คัดลอก record เหล่านั้นไปก่อน

ทำไมต้องใช้ www หรือ app แทนโดเมนหลัก

โดเมนย่อยอย่าง www.example.com หรือ app.example.com ใช้ CNAME ได้ ซึ่งเป็นสิ่งที่แพลตฟอร์มโฮสติ้งหลายแห่งต้องการ โดเมนหลัก (example.com) ใช้ CNAME มาตรฐานไม่ได้ จึงต้องใช้ A record หรือฟีเจอร์เฉพาะของผู้ให้บริการอย่าง ALIAS, ANAME หรือ CNAME flattening

Mythex · Pricing · สร้างอะไรก็ได้ด้วย AI · เทมเพลตเว็บไซต์และแอป · เปรียบเทียบ Mythex · อภิธานศัพท์การสร้างแอปด้วย AI · เครื่องมือฟรีสำหรับสร้างแอปด้วย AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)