DNS_PROBE_FINISHED_NXDOMAIN: สาเหตุและวิธีแก้
· อ่าน 1 นาที
ข้อผิดพลาดนี้หมายถึงอะไร
ก่อนที่เบราว์เซอร์จะเชื่อมต่อเว็บไซต์ได้ จะถาม Domain Name System ถึงที่อยู่ที่อยู่เบื้องหลังชื่อ NXDOMAIN คือคำตอบของ DNS ที่ว่า “ไม่มีชื่อนี้” Chrome แสดงเป็น DNS_PROBE_FINISHED_NXDOMAIN (“ไม่สามารถเข้าถึงเว็บไซต์นี้ได้”) Firefox แสดงเป็น “เรามีปัญหาในการค้นหาไซต์นั้น” Safari แสดงเป็น “Safari ไม่พบเซิร์ฟเวอร์” ไม่มีการพยายามเชื่อมต่อ เบราว์เซอร์ไม่เคยได้ที่อยู่ให้เชื่อมต่อ
ในแง่หนึ่งนี่คือข่าวดี: เว็บเซิร์ฟเวอร์ไม่เกี่ยวข้องเลย ปัญหาอยู่ที่ DNS ไม่ว่าฝั่งผู้เข้าชม (พิมพ์ผิด แคชเก่า resolver ผิด) หรือฝั่งเจ้าของ (โดเมนหรือระเบียนหายไป)
สาเหตุที่พบบ่อย
ฝั่งผู้เข้าชม
- พิมพ์ที่อยู่ผิด หรือลิงก์ไปยังโดเมนที่ไม่มีอยู่แล้ว
- แคช DNS บนคอมพิวเตอร์ ในเบราว์เซอร์ หรือในเราเตอร์ที่ยังเก็บคำตอบ “ไม่มี” เก่าไว้
- resolver ที่เชื่อมต่ออินเทอร์เน็ตไม่ได้ VPN หรือเครือข่ายองค์กรที่บล็อกโดเมน ตัวกรองสำหรับผู้ปกครอง
- ซอฟต์แวร์ป้องกันไวรัสหรือ “การป้องกันเว็บ” ที่ดักจับ DNS
ฝั่งเจ้าของ
- โดเมนหมดอายุ นายทะเบียนถอด nameserver เมื่อหมดอายุ และตั้งแต่นั้นชื่อก็ไม่มีอยู่ เป็นสาเหตุที่พบบ่อยที่สุดสำหรับเว็บไซต์ที่เมื่อวานยังใช้ได้
- ระเบียน A หรือ AAAA หายไป หลังย้ายไปโฮสต์ใหม่หรือผู้ให้บริการ DNS ใหม่ ระเบียนสำหรับ
wwwหรือโดเมนเปล่าไม่เคยถูกสร้าง - เปลี่ยน nameserver แต่ zone ว่าง คุณชี้โดเมนไปที่ Cloudflare หรือโฮสต์ใหม่ แต่ไม่ได้คัดลอกระเบียนไปที่นั่นก่อน
- ซับโดเมนที่ไม่เคยตั้งค่า
shop.example.comส่งคืน NXDOMAIN เพราะไม่มีระเบียนสำหรับshopขณะที่example.comใช้ได้ - DNSSEC เสีย ระเบียน DS ที่ผิดที่นายทะเบียนหลังเปลี่ยนผู้ให้บริการทำให้ resolver ที่ตรวจสอบ (ส่วนใหญ่ในปัจจุบัน) ส่งคืนความล้มเหลว ซึ่งเบราว์เซอร์แสดงเป็น NXDOMAIN หรือข้อผิดพลาดที่คล้ายกัน
- Propagation คุณเพิ่งเปลี่ยน nameserver บาง resolver ยังเห็น zone เก่าที่ตอนนี้ว่าง ใช้เวลาไม่เกิน TTL กรณีเลวร้ายที่สุด 24 ถึง 48 ชั่วโมง
หากคุณเป็นผู้เข้าชม
- ตรวจการสะกดของที่อยู่ และลองทั้งแบบมีและไม่มี
www - ล้างแคช DNS: Windows
ipconfig /flushdns, macOSsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder, Linuxsudo resolvectl flush-cachesใน Chrome เปิดchrome://net-internals/#dnsแล้วคลิก “Clear host cache” - รีสตาร์ทเราเตอร์ หรือลองเว็บไซต์บนโทรศัพท์โดยปิด Wi-Fi หากใช้ได้ที่นั่น resolver ของเครือข่ายคุณคือปัญหา
- เปลี่ยน resolver เป็นแบบสาธารณะ (1.1.1.1 หรือ 9.9.9.9) ในการตั้งค่าเครือข่าย
- หากไม่มีอะไรช่วย โดเมนนั้นหายไปหรือเสียจริง และมีเพียงเจ้าของที่แก้ได้
หากเป็นเว็บไซต์ของคุณ: ตรวจสอบก่อน
รันเครื่องมือตรวจว่าเว็บไซต์ล่มหรือไม่: บอกว่าโดเมนแปลงเป็นที่อยู่ได้หรือไม่จากตำแหน่งที่เป็นกลาง หากไม่ได้ ให้อ่านต่อที่นี่ หากได้ ปัญหาอยู่ฝั่งผู้เข้าชม ส่งรายการด้านบนให้พวกเขา
จากนั้นดูที่ตัวโดเมน:
# ชื่อแปลงเป็นที่อยู่ได้ไหม และใครเป็นผู้ตอบ
dig +short example.com A
dig +short www.example.com A
dig example.com NS +short
# ถาม authoritative nameserver โดยตรง (ข้ามทุกแคช)
dig @ns1.your-dns-provider.com example.com A
# สถานะการจดทะเบียนและวันหมดอายุ
whois example.com | grep -iE 'expir|status'
คำตอบว่างจาก dig พร้อม status: NXDOMAIN ในผลลัพธ์เต็ม หมายความว่าระเบียนไม่มีอยู่ที่ authoritative server whois ที่แสดงสถานะเช่น clientHold, redemptionPeriod หรือ pendingDelete หมายความว่าปัญหาคือการจดทะเบียน ไม่ใช่ระเบียน
# DNSSEC: สายที่เสียแสดงเป็น SERVFAIL บน resolver ที่ตรวจสอบ
dig @1.1.1.1 example.com A +dnssec | grep -E 'status|flags'
วิธีแก้สำหรับเจ้าของเว็บไซต์
1. โดเมนหมดอายุ
เข้าสู่ระบบที่นายทะเบียนของคุณและต่ออายุ นายทะเบียนส่วนใหญ่คืนโดเมนภายในไม่กี่นาทีหลังชำระเงินในช่วงผ่อนผัน (ปกติ 30 วัน) ในช่วง redemption หลังจากนั้น มีค่าธรรมเนียมการคืนและใช้เวลานานกว่า ตั้งโดเมนให้ต่ออายุอัตโนมัติและตรวจให้แน่ใจว่าบัตรที่บันทึกไว้ยังใช้ได้ โดเมนที่หมดอายุทำให้อีเมล เว็บไซต์ และทุกซับโดเมนล่มพร้อมกัน
2. ระเบียนหายไป
ที่ผู้ให้บริการ DNS ของคุณ เพิ่มระเบียนที่หายไป สำหรับเว็บไซต์ มักเป็น:
example.com. A 203.0.113.10
www.example.com. CNAME example.com.
ใช้ IP ของเว็บเซิร์ฟเวอร์ของคุณ (hostname -I บนเซิร์ฟเวอร์ หรือที่อยู่ที่ผู้ให้บริการโฮสติ้งให้ไว้) หากเซิร์ฟเวอร์มี IPv6 ให้เพิ่มระเบียน AAAA ด้วย หรือลบระเบียนที่เสียหากเซิร์ฟเวอร์ไม่มี การเปลี่ยนแปลงมีผลภายใน TTL ของระเบียน ปกติ 5 นาทีถึงหนึ่งชั่วโมง
3. Zone ว่างหลังเปลี่ยน nameserver
ก่อนสลับ nameserver ให้ส่งออก zone จากผู้ให้บริการเดิม (dig example.com AXFR @old-ns ใช้ได้น้อย ผู้ให้บริการส่วนใหญ่มีปุ่มส่งออก) แล้วนำเข้าที่ผู้ให้บริการใหม่ หากสลับไปแล้ว: สร้างระเบียนใหม่ที่ผู้ให้บริการใหม่ A สำหรับโดเมนเปล่าและ www MX และ TXT สำหรับอีเมล และซับโดเมนที่คุณใช้ ผู้ให้บริการเดิมมักยังแสดงรายการให้คุณ
4. DNSSEC
หาก dig +dnssec ส่งคืน SERVFAIL ขณะที่การค้นหาปกติที่ authoritative server ใช้ได้ ระเบียน DS ที่นายทะเบียนไม่ตรงกับคีย์ที่ผู้ให้บริการ DNS ให้ลบ DNSSEC ที่นายทะเบียน (ลบระเบียน DS) จนกว่าทั้งสองฝั่งจะตั้งค่าไปพร้อมกัน หรือคัดลอกระเบียน DS ใหม่จากผู้ให้บริการ DNS ไปที่นายทะเบียน
5. บนเซิร์ฟเวอร์ของคุณเอง
ไม่มีอะไรบนเว็บเซิร์ฟเวอร์ที่ทำให้เกิด NXDOMAIN จึงไม่มีอะไรให้รีสตาร์ท แต่ยังควรตรวจว่า resolver ของเซิร์ฟเวอร์เองใช้ได้ เพราะเซิร์ฟเวอร์ที่แปลงชื่อไม่ได้จะล้มเหลวที่การอัปเดต อีเมล และการเรียก API:
resolvectl status | head -20
dig +short example.com @127.0.0.53
เมื่อเป็นปัญหาของผู้ให้บริการโฮสติ้ง
หากผู้ให้บริการโฮสติ้งของคุณดูแล DNS ให้ด้วย (พบบ่อยใน shared hosting) และระเบียนดูถูกต้องในแผงของพวกเขา แต่ยังแปลงเป็นที่อยู่ไม่ได้จากภายนอก ส่งข้อความนี้ให้พวกเขา:
สวัสดี โดเมนของฉัน example.com แปลงเป็นที่อยู่ไม่ได้ (NXDOMAIN) ตั้งแต่ประมาณ 11:00 UTC ระเบียนในแผงควบคุมดูถูกต้องและโดเมนจดทะเบียนไว้ถึงปี 2027 กรุณาตรวจ DNS zone บน nameserver ของคุณ และตรวจว่าโดเมนยังถูกมอบอำนาจให้ nameserver เหล่านั้นอยู่หรือไม่
ป้องกันครั้งต่อไป
NXDOMAIN บนโดเมนของคุณเองเกือบทุกครั้งคือการหมดอายุที่ลืม หรือระเบียนที่ไม่ได้คัดลอก DNS monitor เปรียบเทียบระเบียนของคุณกับค่าที่คุณคาดหวังและแจ้งเตือนทันทีที่ระเบียนหายไปหรือเปลี่ยน และการตรวจสอบเว็บไซต์จากภายนอกจับช่วงที่ชื่อเลิกแปลงเป็นที่อยู่ได้ ทั้งสองอย่างเป็นส่วนหนึ่งของการมอนิเตอร์เว็บไซต์ ฟรีสำหรับมอนิเตอร์ 50 รายการแรก และหากระเบียนอยู่บนเซิร์ฟเวอร์ของคุณเอง Deep Fix คืนค่าให้
ขั้นต่อไป
ตรวจจากภายนอก
เว็บไซต์ล่มสำหรับทุกคนหรือเฉพาะคุณ และเซิร์ฟเวอร์ตอบกลับอย่างไร ฟรี ไม่ต้องสมัคร
เครื่องมือตรวจว่าเว็บไซต์ล่มหรือไม่ล่มใช่ไหม เราเข้าไปจัดการ
บนเซิร์ฟเวอร์ของคุณเองหรือเว็บสเปซที่มี SSH: Quick Fix ในราคาคงที่สำหรับสาเหตุที่พบบ่อย Deep Fix คิดเป็นช่วงละ 15 นาทีสำหรับส่วนที่เหลือ ตลอด 24 ชั่วโมง เห็นราคาก่อนสั่งซื้อ
ให้เราซ่อมแซมคู่มืออื่น ๆ
- เว็บไซต์ของคุณล่ม นี่คือสิ่งที่ต้องทำใน 15 นาทีแรก
- เซิร์ฟเวอร์ล่ม: ต้องตรวจอะไรก่อน และตามลำดับไหน
- 502 Bad Gateway: สาเหตุและวิธีแก้
- 503 Service Unavailable: โหลดเกินหรืออยู่ในโหมดบำรุงรักษา
- 504 Gateway Timeout: หมายถึงอะไรและแก้อย่างไร
- ERR_CONNECTION_REFUSED: สาเหตุและวิธีแก้
- “การเชื่อมต่อของคุณไม่เป็นส่วนตัว”: คำเตือนใบรับรอง SSL