คู่มือการตั้งค่า Cloudflared (Cloudflare Tunnel) ใน ServBay
Cloudflared คือเครื่องมือประสิทธิภาพสูงที่พัฒนาโดย Cloudflare ซึ่งช่วยให้คุณสามารถเปิดเผยบริการเว็บที่รันอยู่ภายในเครื่องสู่โลกภายนอกได้อย่างปลอดภัยผ่านเครือข่ายของ Cloudflare โดยไม่จำเป็นต้องเปิดพอร์ตไฟร์วอลล์หรือตั้งค่าเครือข่ายที่ซับซ้อน ผ่าน Cloudflare Tunnel คุณจะได้ใช้งาน HTTPS พร้อมการป้องกัน DDoS และประโยชน์จาก CDN ของ Cloudflare สำหรับโปรเจกต์บนเครื่องพัฒนาของคุณ ServBay ผสาน Cloudflared มาในตัว ทำให้ขั้นตอนการติดตั้งและจัดการบน macOS สะดวกอย่างยิ่ง
คู่มือนี้จะอธิบายวิธีการตั้งค่าและใช้งาน Cloudflared Tunnel ใน ServBay อย่างละเอียด
ภาพรวม
การผสาน Cloudflared เข้ากับ ServBay ช่วยให้นักพัฒนาสามารถเชื่อมต่อเว็บไซต์ที่โฮสต์อยู่ในเครื่องกับเครือข่ายของ Cloudflare ได้อย่างง่ายดาย ซึ่งหมายความว่าคุณสามารถใช้โดเมนย่อยที่กำหนดเอง (เช่น test.yourdomain.com
) เพื่อเข้าถึงสภาพแวดล้อมการพัฒนาของคุณได้จากทุกที่
กรณีการใช้งาน
- นำเสนอผลงานอย่างมืออาชีพ: ใช้โดเมนแบรนด์ของตนเองในการนำเสนอผลงานที่รันอยู่ภายในเครื่องให้แก่ลูกค้าหรือทีม
- การทดสอบภายนอกที่เสถียร: เปิดจุดเชื่อมต่อที่เชื่อถือได้สำหรับการทดสอบ API, การรับ webhook หรือการเชื่อมต่อกับบริการภายนอกที่ต้องใช้ URL สาธารณะต่อเนื่อง
- ใช้ประโยชน์จาก Cloudflare Ecosystem: รับประกันความปลอดภัยด้วย WAF, การจัดการบอท และเพิ่มสมรรถนะผ่าน CDN caching, Argo Smart Routing (ถ้ามี)
- แทนที่ DDNS แบบเดิม: ให้บริการภายในเครื่องที่อยู่หลัง NAT/Dynamic IP เข้าถึงผ่านโดเมนสาธารณะที่คงที่
ข้อกำหนดเบื้องต้น
- ติดตั้ง ServBay แล้ว: ตรวจสอบให้แน่ใจว่า macOS ของคุณได้ติดตั้งและรัน ServBay เรียบร้อย
- บัญชี Cloudflare: ต้องมีบัญชี Cloudflare ที่ใช้งานได้
- โดเมนที่อยู่ภายใต้การจัดการ: จำเป็นต้องมีโดเมนที่เปิดใช้งานและจัดการ DNS ด้วย Cloudflare เช่น
yourdomain.com
โดย Cloudflared จะสร้างโดเมนย่อยภายใต้โดเมนนี้ - ตั้งค่า Cloudflare Zero Trust: คุณต้องสร้างองค์กร (Team) ในแผงควบคุม Cloudflare Zero Trust ก่อนจึงจะใช้ Cloudflare Tunnel ได้
- เข้าสู่ Cloudflare Zero Trust Dashboard
- หากยังไม่เคยสร้าง ทีมจะมีขั้นตอนแนะนำให้ตั้งชื่อ ซึ่งส่วนใหญ่ไม่เสียค่าใช้จ่าย
- เว็บไซต์ภายในเครื่อง: มีเว็บไซต์ถูกเพิ่มและรันอยู่ใน ServBay อย่างน้อย 1 เว็บ เช่น
servbay.demo
ขั้นตอนการดำเนินงาน
1. ติดตั้งแพ็กเกจ Cloudflared ใน ServBay
- เปิดแอป ServBay
- ที่แถบด้านซ้าย คลิกที่ แพ็กเกจ (Packages)
- ในรายการแพ็กเกจ ให้ค้นหาหรือเลื่อนหา
Cloudflared
- คลิกปุ่มติดตั้งถัดจาก
Cloudflared
- เมื่อติดตั้งเสร็จแล้ว คุณสามารถลองกดสวิตช์เพื่อเริ่มบริการที่ขวา หากยังไม่ได้รับอนุญาต ระบบอาจเริ่มต้นไม่สำเร็จ ซึ่งถือว่าเป็นปรากฏการณ์ปกติ
2. อนุญาตให้ ServBay เข้าถึงบัญชี Cloudflare ของคุณ
เพื่อให้ ServBay สามารถสร้างและจัดการ Cloudflare Tunnel รวมถึง DNS ให้อัตโนมัติในนามของคุณ ต้องมีขั้นตอนให้สิทธิ์ก่อน
- ในแถบด้านซ้ายของ ServBay คลิก Tunnel
- เลือก Cloudflared จากรายการบริการ Tunnel
- จะเห็นปุ่ม Login Authorization (ล็อกอินเพื่อให้สิทธิ์) (ชื่อปุ่มอาจแตกต่างเล็กน้อย) คลิกปุ่มนี้
- หลังคลิก ServBay จะเปิดหน้าต่างเบราว์เซอร์ใหม่และนำคุณไปยังหน้าการอนุญาตของ Cloudflare
- ที่หน้า Cloudflare ระบบจะให้ล็อกอิน (ถ้ายัง) และเลือกโดเมนที่ต้องการอนุญาตให้ ServBay (Cloudflared) ใช้งาน โปรดเลือกโดเมนที่จัดการ DNS ด้วย Cloudflare ตามที่เตรียมไว้
- ดำเนินตามคำแนะนำใน Cloudflare ให้เสร็จสมบูรณ์
- เมื่ออนุญาตสำเร็จ กลับมาที่หน้าต่างแอป ServBay
- ที่หน้าต่าง Cloudflared ใน ServBay หากปุ่มยังแสดงข้อความ Login Authorization (ล็อกอินเพื่อให้สิทธิ์) ให้คลิกไอคอน รีเฟรช ข้างๆ เพื่ออัปเดตสถานะ
- หากอนุญาตเรียบร้อยแล้ว ปุ่มจะเปลี่ยนเป็น Cancel Authorization (ยกเลิกสิทธิ์)
3. ตั้งค่าอุโมงค์ (Tunnel) ใน ServBay
หลังผ่านขั้นตอนอนุญาตแล้ว สามารถตั้งค่ารายละเอียดของ Tunnel ได้ทันที
Local Domain (เว็บไซต์ภายในเครื่อง):
- เลือกจาก dropdown รายการเว็บไซต์ภายใน ServBay ที่ต้องการเปิดเผยผ่าน Cloudflared ตัวอย่างเช่น
servbay.demo
- เลือกจาก dropdown รายการเว็บไซต์ภายใน ServBay ที่ต้องการเปิดเผยผ่าน Cloudflared ตัวอย่างเช่น
Subdomain (โดเมนย่อย):
- ใส่ชื่อโดเมนย่อยที่ต้องการชี้ไปยังเว็บภายในเครื่อง เช่น
test
หรือproject-alpha
- ServBay จะนำโดเมนย่อยนี้ไปรวมกับโดเมนที่คุณอนุมัติบน Cloudflare กลายเป็น URL สาธารณะเต็มรูปแบบ เช่น หากโดเมนที่อนุมัติคือ
yourdomain.com
และใส่test
ที่ช่องนี้ URL สาธารณะจะเป็นtest.yourdomain.com
- หน้า UI จะโชว์ suffix ของโดเมนที่คุณอนุมัติ เช่น
.yourdomain.com
(ในภาพตัวอย่างจะเป็น.ks.do
)
- ใส่ชื่อโดเมนย่อยที่ต้องการชี้ไปยังเว็บภายในเครื่อง เช่น
เพิ่มหลายอุโมงค์/โดเมนย่อย:
- หากต้องการสร้าง Tunnel สำหรับหลายเว็บไซต์ (และใช้โดเมนย่อยคนละชื่อ) คลิกปุ่ม
+
(เครื่องหมายบวก) ขวาของรายการ Tunnel เพื่อเพิ่มและตั้งค่าซ้ำขั้นตอนข้างต้นตามต้องการ
- หากต้องการสร้าง Tunnel สำหรับหลายเว็บไซต์ (และใช้โดเมนย่อยคนละชื่อ) คลิกปุ่ม
4. บันทึกการตั้งค่าและเริ่มใช้งานบริการ
- เมื่อตั้งค่าทั้งหมดเสร็จ ให้คลิกปุ่ม Save (บันทึก) ขวาล่าง
- ServBay จะดำเนินการดังนี้:
- สร้าง Cloudflare Tunnel ชื่อ
servbay-tunnel-xxxxx
โดยxxxxx
คือรหัสสุ่ม - เชื่อมต่อกับ Cloudflare API เพิ่มรายการใหม่เข้ากับ Tunnel
- ภายใต้โดเมนคุณบน Cloudflare จะสร้าง DNS CNAME สำหรับรายการที่ตั้งค่าไว้ เพื่อชี้โดเมนย่อยไปหา Tunnel ให้อัตโนมัติ
- สร้าง Cloudflare Tunnel ชื่อ
- หลังบันทึก Cloudflared ควรจะเริ่มทำงานอัตโนมัติ (แต่หากไม่สามารถเริ่มเองได้ สามารถกดสวิตช์เริ่มบริการได้) สังเกตไฟสถานะ ที่รายการ Cloudflared สีเขียวแสดงว่าบริการทำงานอยู่
- ตรวจสอบการเข้าถึง:
- ในขณะนี้คุณจะสามารถเข้าถึงเว็บไซต์ภายในเครื่องผ่าน URL สาธารณะที่ตั้งค่าไว้ (เช่น
test.yourdomain.com
) ได้จากทุกที่ - คลิกไอคอน คัดลอก ข้างๆ URL เพื่อคัดลอกไปใช้งาน หรือกด ไอคอนเบราว์เซอร์ เพื่อเปิด URL โดยตรง
- ในขณะนี้คุณจะสามารถเข้าถึงเว็บไซต์ภายในเครื่องผ่าน URL สาธารณะที่ตั้งค่าไว้ (เช่น
หมายเหตุ
- เนื่องด้วยเครือข่ายของ Cloudflared มี node จำนวนมาก หลังบันทึกต้องรอเชื่อมต่อสักครู่ อย่าเพิ่งเข้าใช้งานทันทีหลังคลิกบันทึก ควรรอสักไม่กี่วินาทีจน ServBay แจ้งสำเร็จจึงค่อยทดลองเข้าถึง
- การสร้าง DNS record และการแพร่ข้อมูลไปทั่วโลกอาจใช้เวลาตั้งแต่ไม่กี่วินาทีถึงหลายนาที หากยังเข้าเว็บไม่ได้ให้รอแล้วลองใหม่อีกครั้ง
- ใน macOS สามารถใช้คำสั่ง
sudo killall -HUP mDNSResponder
ใน Terminal เพื่อล้าง cache DNS ในเครื่องได้
5. การจัดการ Cloudflared Tunnel
ที่หน้าตั้งค่า Cloudflared บน ServBay:
- คัดลอก URL ภายนอก: กดไอคอนคัดลอก
- เปิดผ่านเบราว์เซอร์: กดไอคอนเบราว์เซอร์
- เพิ่ม Tunnel: คลิกไอคอน
+
- ลบ Tunnel: คลิกไอคอน
-
แล้วบันทึก เมื่อ remove แล้ว ServBay จะพยายามลบ Tunnel และ DNS ที่เกี่ยวข้องออกจาก Cloudflare ให้อัตโนมัติ - ยกเลิกการให้สิทธิ์: กดปุ่ม Cancel Authorization (ยกเลิกสิทธิ์) เพื่อเพิกถอนสิทธิ์ที่ให้กับ ServBay ซึ่งจะทำให้ Tunnel ทั้งหมดหยุดใช้งาน
- หยุด/เริ่มบริการ: สามารถกดสวิตช์ข้าง
Cloudflared
เพื่อหยุดหรือเริ่มบริการทั้งหมดได้
ข้อควรทราบ
- การแพร่ DNS: การสร้างหรือเปลี่ยนโดเมนย่อย อาจต้องรอระยะหนึ่งกว่าข้อมูลจะมีผลทั่วโลก
- การจัดการ Cloudflare Tunnel: ยังสามารถเข้าไปตรวจสอบและจัดการ Tunnel ด้วยตนเองผ่าน Cloudflare Zero Trust Dashboard ได้เช่นกัน (โดยปกติที่เมนู Access -> Tunnels)
- ความปลอดภัย: Cloudflare Tunnel มั่นคงปลอดภัยโดยพื้นฐาน ทั้งนี้สามารถกำหนดนโยบายความปลอดภัยเพิ่มในแผง Cloudflare ได้ เช่นกำหนดกฎ WAF หรือนโยบายการเข้าถึง
- ข้อจำกัดของการอนุญาตโดเมน: ServBay สามารถอนุญาตและใช้งานกับ 1 โดเมน (1 บัญชี) ต่อ 1 ครั้ง หากต้องใช้โดเมนอื่นอาจต้องยกเลิกแล้วทำการอนุญาตใหม่
- ข้อกำหนดการใช้บริการ Cloudflare: โปรดตรวจสอบให้แน่ใจว่าการใช้งานของคุณสอดคล้องกับเงื่อนไขการให้บริการของ Cloudflare
- ผู้ใช้ในจีนแผ่นดินใหญ่: อาจใช้งาน Cloudflared ได้ไม่เสถียร
คำถามที่พบบ่อย (FAQ)
- ถาม: หลังคลิก “Login Authorization” ที่ Cloudflare หน้าเว็บแสดงข้อผิดพลาดหรือเลือกโดเมนไม่ได้ ทำอย่างไร?
- ตอบ: ตรวจสอบว่าคุณเข้าสู่ระบบด้วยบัญชี Cloudflare ที่ถูกต้อง และบัญชีดังกล่าวมีโดเมนที่จัดการ DNS ด้วย Cloudflare รวมถึงตั้งค่าทีมใน Cloudflare Zero Trust แล้ว
- ถาม: ตั้งค่าโดเมนย่อยและบันทึกแล้ว แต่ยังเข้า
subdomain.mydomain.com
ไม่ได้?- ตอบ: โปรดรอให้ DNS มีผลสักพัก (1-10 นาที) จากนั้นตรวจสอบว่า Cloudflared ใน ServBay ทำงานไฟเป็นสีเขียว หากยังมีปัญหาให้เช็ก Tunnel ที่ Cloudflare Dashboard ว่าสร้างถูกต้องหรือไม่ และดูว่า DNS record ถูกสร้างแล้วหรือยัง
- ถาม: Cloudflared ต่างกับ Ngrok/Pinggy อย่างไร?
- ตอบ: จุดแข็งของ Cloudflared คือการผสานกับโครงสร้างพื้นฐานของ Cloudflare ทำให้รองรับทั้งโดเมนและโดเมนย่อยแบบที่คุณเป็นเจ้าของจริง ๆ เหมาะกับการใช้งานที่ต้องการความเสถียร ภาพลักษณ์แบรนด์ และมี layer ความปลอดภัย ถึงแม้ Ngrok กับ Pinggy จะสะดวกกว่าสำหรับการแชร์ชั่วคราว/รวดเร็วหรือผู้ใช้ฟรี
สรุป
การใช้ Cloudflared ใน ServBay ช่วยให้นักพัฒนาบน macOS เปิดเว็บไซต์ภายในขึ้นสู่สาธารณะได้อย่างมืออาชีพและปลอดภัยด้วยโครงสร้างของ Cloudflare เพียงทำตามขั้นตอนในคู่มือนี้ ก็จะสามารถตั้งค่าและเรียกใช้ Cloudflare Tunnel ได้อย่างรวดเร็ว พร้อมทั้งได้ใช้งานโดเมนของตนเอง และได้รับการปกป้องและสมรรถนะจาก Cloudflare เพิ่มเติม