−25%

Windows รายปี ถึง 31 ต.ค. ดูแพ็กเกจ

EQVPS

วิธีชี้โดเมนมาที่ VPS ของคุณ (A, AAAA และ www)

ชี้โดเมนมาที่ VPS ด้วยเรคคอร์ด A และ AAAA จัดการ www ตรวจการกระจายด้วย dig แล้วเปิด HTTPS — พร้อมเหตุผลที่แพ็กเกจ NAT เสิร์ฟเว็บไซต์ไม่ได้

คุณซื้อโดเมนแล้ว มี VPS แล้ว แต่เบราว์เซอร์ยังบอกว่า "เข้าถึงเว็บไซต์นี้ไม่ได้" ชิ้นที่ขาดไปเกือบทุกครั้งคือเรคคอร์ด DNS สองตัว และเว็บเซิร์ฟเวอร์ที่ตอบกลับที่อยู่ที่ถูกต้องจริงๆ นี่คือเส้นทางทั้งหมด ตั้งแต่ผู้รับจดโดเมนไปจนถึงรูปแม่กุญแจ HTTPS ที่ใช้งานได้

ก่อนเริ่ม: แพ็กเกจของคุณรับทราฟฟิกเว็บได้ไหม?

ผู้เข้าชมเชื่อมต่อมาที่พอร์ต 80 และ 443 ของเซิร์ฟเวอร์ ซึ่งต้องใช้แพ็กเกจที่มี IP สาธารณะของตัวเอง แพ็กเกจ NAT ส่งต่อแค่พอร์ต SSH ส่วนตัวของคุณ จึงโฮสต์เว็บบนโดเมนไม่ได้ — บทความ IP เฉพาะหรือ NAT ของเราอธิบายความต่าง เว็บเล็กๆ รันบน Nano-IP ได้สบาย

1. หาที่อยู่ของเซิร์ฟเวอร์

ที่อยู่ IPv4 และ IPv6 อยู่ในหน้าเซิร์ฟเวอร์ในแดชบอร์ด ในตัวอย่างเราใช้ที่อยู่สำหรับเอกสาร:

2. สร้างเรคคอร์ด DNS

ล็อกอินเข้าที่ที่ดูแล DNS ของโดเมน (ส่วนใหญ่คือผู้รับจดโดเมน) แล้วเพิ่ม:

ประเภทชื่อค่าTTL
A@203.0.113.10300
AAAA@2001:db8::10300
CNAMEwwwexample.com.300

@ หมายถึงโดเมนหลัก TTL สั้นอย่าง 300 วินาทีทำให้แก้ข้อผิดพลาดได้ถูกๆ เมื่อทุกอย่างใช้งานได้แล้วค่อยเพิ่มเป็น 3600

ถ้ายังไม่อยากใช้ IPv6 ให้ข้ามเรคคอร์ด AAAA ไปก่อน — ดูคำเตือนในขั้นที่ 5

3. ตรวจว่า DNS ตอบแล้ว

อย่าเชื่อข้อความ "บันทึกแล้ว" ของผู้รับจดโดเมน ถาม DNS โดยตรง:

dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1

บรรทัดสุดท้ายถาม resolver สาธารณะ ซึ่งใกล้เคียงกับสิ่งที่ผู้เข้าชมเห็นมากกว่า ถ้าได้ IP ของคุณกลับมา เรื่อง DNS ก็เรียบร้อย

4. ทำให้เซิร์ฟเวอร์ตอบ

ติดตั้ง nginx และเปิดพอร์ต:

apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp

เปิด http://example.com — ควรเห็นหน้าต้อนรับของ nginx จากนั้นเพิ่ม HTTPS ด้วยใบรับรองฟรี:

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot แก้การตั้งค่า nginx ตั้งการเปลี่ยนเส้นทางไป HTTPS และต่ออายุใบรับรองให้อัตโนมัติ ถ้ามีแอปจริงอยู่หลัง nginx ให้ทำตามคู่มือ reverse proxy พร้อม HTTPS ของเรา

5. กับดัก IPv6

ข้อนี้คนพลาดกันเยอะ คุณเพิ่มเรคคอร์ด AAAA แต่ nginx ฟังแค่ IPv4 ผู้เข้าชมที่ใช้ IPv6 (เครือข่ายมือถือหลายเจ้า) จะลองที่อยู่ IPv6 ก่อนแล้วล้มเหลว ตรวจให้แน่ใจว่าบล็อก server มีทั้งสองบรรทัด:

listen 80;
listen [::]:80;

การตั้งค่า nginx เริ่มต้นบน Ubuntu มี [::] อยู่แล้ว แต่การตั้งค่าที่เขียนเองมักตกหล่น ทดสอบจากเครื่องที่มี IPv6:

curl -6 -I https://example.com

ปัญหาที่เจอบ่อย

เรื่อง reverse DNS

เรคคอร์ด A และ AAAA ไปจากชื่อสู่ IP ส่วน reverse DNS (PTR) ไปทางกลับกัน และตั้งในแดชบอร์ดแทนที่จะเป็นที่ผู้รับจดโดเมน คุณต้องใช้มันแค่สำหรับอีเมล หรือเมื่อมีบริการตรวจสอบมัน — คู่มือ PTR ของเราอธิบายไว้

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

คำถามที่พบบ่อย

DNS ใช้เวลาอัปเดตนานเท่าไร?

ปกติไม่กี่นาที เรคคอร์ดที่เปลี่ยนจะเห็นได้ทุกที่เมื่อ TTL เดิมหมดอายุ — ถ้า TTL เป็น 300 ก็ห้านาที โดเมนที่เพิ่งจดใหม่เอี่ยมอาจนานกว่า ระหว่างที่รีจิสทรีเผยแพร่ nameserver

ต้องมีเรคคอร์ด AAAA ไหม?

เฉพาะเมื่อเว็บเซิร์ฟเวอร์ของคุณฟังบน IPv6 ถ้าเพิ่ม AAAA แต่ nginx ฟังแค่ IPv4 ผู้เข้าชมที่ใช้ IPv6 จะเจอข้อผิดพลาดในการเชื่อมต่อ จะตั้ง 'listen [::]:80' และ '[::]:443' หรือไม่ใส่ AAAA ก็เลือกเอา

www ควรเป็น CNAME หรือเรคคอร์ด A?

ได้ทั้งคู่ CNAME ที่ชี้ไปโดเมนหลักหมายความว่าเมื่อ IP เปลี่ยน คุณแก้แค่เรคคอร์ดเดียว แค่ตรวจให้แน่ใจว่าใบรับรองครอบคลุมทั้งสองชื่อ

โฮสต์เว็บไซต์บนแพ็กเกจ NAT ได้ไหม?

ไม่ได้โดยตรง แพ็กเกจ NAT ส่งต่อแค่พอร์ต SSH ส่วนตัวของคุณ ผู้เข้าชมจึงเข้าพอร์ต 80 และ 443 ไม่ได้ ถ้าจะมีเว็บบนโดเมนของตัวเอง ต้องใช้แพ็กเกจ IP เฉพาะ

reverse DNS คือสิ่งเดียวกันไหม?

ไม่ใช่ A และ AAAA จับคู่ชื่อกับ IP ของคุณ ส่วน reverse DNS (PTR) จับคู่ IP กลับไปเป็นชื่อ PTR สำคัญกับเมลเซิร์ฟเวอร์เป็นหลัก และตั้งในแดชบอร์ดของคุณ ไม่ใช่ที่ผู้รับจดโดเมน

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง