# บทเรียน 07 — ผูก custom domain lay-pai-gun.rawinlab.com

เว็บขึ้น Cloudflare แล้วแต่ยังใช้ URL ที่ระบบกำหนด บทนี้ผูกเว็บเข้ากับ **โดเมนของตัวเอง** เพื่อให้ลูกค้าจำได้ ค้นเจอ และเชื่อถือ — เงื่อนไขสำคัญคือโดเมนแม่ **rawinlab.com ต้องอยู่ในบัญชี Cloudflare เดียวกัน** อยู่แล้ว การผูกจึงเป็นแค่การเพิ่ม subdomain

เป้าหมายของบทนี้: เปิดเว็บจาก lay-pai-gun.rawinlab.com ด้วย HTTPS โดยลิงก์เดิมไม่ตาย

## Prompt ที่ใช้

> ให้ Mapping เว็บไซต์นี้ไปใช้ domain lay-pai-gun.rawinlab.com โดยโดเมน rawinlab.com อยู่ใน cloudflare แล้ว.

![ภาพ capture ของ prompt ขอผูกโดเมน lay-pai-gun.rawinlab.com](/images/step8-domain-prompt.webp)

จุดที่ทำให้ prompt นี้เดินได้เร็ว: เรา**บอกสถานะของโดเมนแม่ไว้ใน prompt เลย** ว่าอยู่ใน Cloudflare แล้ว agent จึงไม่ต้องถามกลับหรือเดาว่าจะต้องโยน DNS จากผู้ให้บริการรายอื่น

## ผลลัพธ์

agent ทำงาน 7 นาที 30 วินาที แก้เพียง **2 ไฟล์** (README และ wrangler.jsonc) แล้วรายงานว่า:

- **ผูกโดเมนเรียบร้อย:** lay-pai-gun.rawinlab.com
- ตรวจแล้ว **HTTPS ใช้งานได้** และ**ไฟล์เว็บตรงกับเวอร์ชันล่าสุด** (ไม่ใช่ของเก่าค้างจาก cache)
- **ลิงก์เดิมยังใช้งานได้** — คนที่จด URL เดิมไว้ไม่หลง
- เตือนว่า **บางเครือข่ายอาจต้องรอ DNS cache อัปเดตอีกสักครู่** จึงจะเปิดโดเมนใหม่ได้

![ภาพ capture ของผลผูกโดเมนสำเร็จ พร้อมหมายเหตุเรื่อง DNS cache](/images/step8-domain-result1.webp)

![ภาพ capture ของสรุปไฟล์ที่แก้ README และ wrangler jsonc](/images/step8-domain-result2.webp)

การแก้ `wrangler.jsonc` คือหัวใจของขั้นนี้ — เพิ่มการ mapping ชื่อโดเมนเข้ากับเว็บที่ deploy ไว้ ส่วน README บันทึกวิธีผูกไว้ทบทวน

## ทำไมต้องรอ DNS cache (และรอนานแค่ไหน)

เมื่อเพิ่ม subdomain ใหม่ ระบบ DNS ทั่วโลกต้องค่อย ๆ รับรู้ว่า `lay-pai-gun.rawinlab.com` ชี้ไปที่ใด:

| สิ่งที่เกิดขึ้น | ใครเห็นก่อน–หลัง |
| --- | --- |
| Cloudflare อัปเดต record ทันทีหลังผูก | ผู้ใช้ที่ DNS ชี้อยู่ที่ Cloudflare เห็นไวมาก (มักไม่กี่นาที) |
| resolver สาธารณะ (เช่น 8.8.8.8) ดึงค่าใหม่ตาม TTL | แต่ละเครือข่าย/แต่ละประเทศไม่พร้อมกัน |
| DNS ภายในองค์กรหรือ ISP บางรายเก็บค่าเดิมนานกว่า | คนกลุ่มนี้เห็นโดเมนใหม่ช้าที่สุด |

ในทางปฏิบัติ: ถ้าเปิดไม่ได้ **อย่าสั่งแก้อะไรทันที** — รอ 5–15 นาทีแล้วลองใหม่ (หรือลองจากเครือข่ายอื่น/มือถือ) ก่อนสรุปว่าผูกโดเมนพลาด การสั่งแก้ซ้ำขณะ DNS กำลังอัปเดตมักสร้างงานเพิ่ม ไม่ได้แก้ปัญหา

## ข้อควรระวังและบทเรียน

- **บอกบริบทของโดเมนใน prompt เสมอ** — โดเมนอยู่ที่ไหน ใครถือ control อยู่ จะช่วยให้ agent เลือกวิธีที่ถูกต้องได้ทันที
- **ตรวจ HTTPS ให้เป็นขั้นตอนหลังผูกโดเมนเสมอ** — เว็บที่เปิดได้แต่ certificate ไม่ตรงจะโดนเบราว์เซอร์เตือนและทำลายความเชื่อมั่นทันที Cloudflare ออก certificate ให้อัตโนมัติเมื่อโดเมนอยู่ในระบบ แต่ต้องยืนยันว่าใช้งานจริง
- **อย่าลืมทดสอบฟอร์มบนโดเมนใหม่** — ตามคำเตือนจากบท 03 และ 06 ฟอร์มอีเมลต้อง activate และทดสอบส่งจริงจากโดเมนที่ใช้งานจริง
- **เก็บลิงก์เดิมไว้ทำงาน** — การคง URL เดิมช่วยกันคนหลง และให้เราเทียบเวอร์ชันได้ขณะโดเมนใหม่ยังโดน cache

ต่อไป: [บท 09 — ระบบหลังบ้าน /admin และสรุปท้าย workshop](09-admin-cms.md)
