Cloudflare คืออะไร และทำงานอย่างไร?
Cloudflare เป็นบริการ CDN (Content Delivery Network) และ Reverse Proxy ที่ให้บริการฟรีและมีแผนชำระเงิน โดยทำหน้าที่คั่นกลางระหว่างผู้ใช้และเซิร์ฟเวอร์ Hosting ของคุณ เมื่อผู้เยี่ยมชมเว็บไซต์ คำขอจะวิ่งผ่าน Cloudflare ก่อน จากนั้น Cloudflare จะดึงเนื้อหาจาก Data Center ที่ใกล้ที่สุดหรือส่งต่อไปยัง Hosting ของคุณ
ประโยชน์หลักของ Cloudflare ได้แก่: ป้องกัน DDoS Attack, ซ่อน IP จริงของเซิร์ฟเวอร์, เพิ่มความเร็วโหลดด้วย Cache, ให้ SSL Certificate ฟรี และลด Bandwidth ที่ Hosting ต้องรับ โดยเฉลี่ยเว็บไซต์ที่ใช้ Cloudflare จะโหลดเร็วขึ้น 20–60% สำหรับผู้ใช้ที่อยู่ไกลจากเซิร์ฟเวอร์
Cloudflare มี Data Center กว่า 300 แห่งทั่วโลก รวมถึงในไทยและภูมิภาค SEA ทำให้ผู้ใช้ไทยได้รับเนื้อหาจาก Cache ที่ใกล้กว่าเดิมมาก แม้ Hosting ตั้งอยู่ที่สหรัฐหรือยุโรป
ขั้นตอนสมัครและเพิ่ม Domain ใน Cloudflare
เริ่มต้นด้วยการสร้างบัญชีที่ cloudflare.com จากนั้นทำตามขั้นตอนดังนี้:
- คลิก Add a Site และพิมพ์ชื่อโดเมนของคุณ (เช่น example.com)
- เลือกแผน Free หรือแผนที่ต้องการ แล้วคลิก Continue
- Cloudflare จะ Scan DNS Records อัตโนมัติ รอสักครู่แล้วตรวจสอบว่า Record ครบถ้วน
- เพิ่ม Record ที่หายไป เช่น MX สำหรับ Email หรือ CNAME ของ Subdomain ต่างๆ
- คลิก Continue to Activation
ada.ns.cloudflare.com และ kirk.ns.cloudflare.com คัดลอกไว้ก่อนเปลี่ยน Nameserver ไปที่ Cloudflare
หลังจากได้ Nameserver จาก Cloudflare แล้ว ให้เข้าไปที่แผงควบคุมของ Domain Registrar ที่คุณซื้อโดเมนมา (เช่น Namecheap, GoDaddy, หรือ Hosting ของคุณ) แล้วเปลี่ยน Nameserver เป็นของ Cloudflare:
- ล็อกอินที่ Domain Registrar
- ไปที่หน้าจัดการโดเมน เลือก Nameservers หรือ DNS Settings
- เปลี่ยนจาก Nameserver เดิม เป็น 2 ตัวที่ Cloudflare กำหนด
- บันทึกการเปลี่ยนแปลง
- รอ 5 นาทีถึง 48 ชั่วโมงสำหรับการ Propagate (โดยทั่วไปใช้เวลาไม่เกิน 1 ชั่วโมง)
เมื่อ Cloudflare ตรวจพบ Nameserver เปลี่ยนแล้ว คุณจะได้รับอีเมลแจ้งว่า Domain Active และ Dashboard จะแสดงสถานะ Active (สีเขียว)
ตั้งค่า DNS Records ใน Cloudflare
หลัง Domain Active ให้เข้าไปที่ DNS > Records ตรวจสอบว่า Record สำคัญมีครบ:
- A Record: ชื่อ
@ชี้ไป IP ของ Hosting (Proxied สีส้ม) - A Record: ชื่อ
wwwชี้ไป IP เดียวกัน (Proxied สีส้ม) - MX Record: สำหรับ Email ให้ตั้งเป็น DNS Only (ไม่ Proxy)
- CNAME Record: ถ้ามี Subdomain เพิ่มเติม
สัญลักษณ์เมฆสีส้ม (Proxied) หมายความว่า Traffic จะผ่าน Cloudflare ส่วนเมฆสีเทา (DNS Only) จะชี้ตรงไป Hosting โดยไม่ผ่าน Cloudflare ให้ตั้ง A Record หลักเป็น Proxied เสมอ แต่ MX ต้องเป็น DNS Only
ตั้งค่า SSL Mode ให้ถูกต้อง
ไปที่ SSL/TLS > Overview เลือก Mode ที่เหมาะสม:
- Off: ไม่ใช้ HTTPS เลย (ไม่แนะนำ)
- Flexible: HTTPS ระหว่างผู้ใช้กับ Cloudflare แต่ Hosting รับแบบ HTTP (ใช้ได้ถ้า Hosting ไม่มี SSL)
- Full: HTTPS ทั้งสองฝั่ง แต่ยอมรับ Self-signed Certificate ที่ Hosting
- Full (Strict): HTTPS ทั้งสองฝั่ง และต้องการ Certificate ที่ Valid จาก CA ที่น่าเชื่อถือ (แนะนำสุด)
เปิดใช้งาน Cache, Rocket Loader และ Minify
Cloudflare มีฟีเจอร์เพิ่มประสิทธิภาพหลายอย่างที่เปิดได้ฟรี:
Cache Settings
ไปที่ Caching > Configuration ตั้ง Browser Cache TTL เป็น 4 ชั่วโมงหรือมากกว่า สำหรับไฟล์ Static เช่น รูปภาพ, CSS, JS จะถูก Cache ที่ Edge โดยอัตโนมัติ
Rocket Loader
ไปที่ Speed > Optimization > Rocket Loader เปิดเพื่อให้ JavaScript โหลด Async ลดเวลา Render-blocking และเพิ่ม LCP Score อย่างไรก็ตาม บางครั้งอาจทำให้ Script บางตัวทำงานผิดพลาด ให้ทดสอบก่อนเปิดใช้จริง
Auto Minify
ที่ Speed > Optimization > Auto Minify เปิด JavaScript, CSS และ HTML เพื่อลดขนาดไฟล์ลง 10–30% โดยไม่ต้องแก้ไข Code ใดๆ
ตรวจสอบว่า Cloudflare ทำงานถูกต้อง
ใช้ curl เพื่อตรวจสอบ Header ที่ส่งมาจาก Cloudflare:
# ตรวจสอบ Header ว่ามี cf-ray แสดงว่าผ่าน Cloudflare
curl -sI https://example.com | grep -E "cf-ray|server|x-cache"
# ตรวจสอบ SSL Certificate
curl -sI https://example.com | grep -E "strict-transport|cf-"
# เช็ค IP ว่าเป็น IP ของ Cloudflare หรือไม่
dig example.com +short
# ทดสอบ Cache Hit
curl -sI https://example.com/style.css | grep -i "cf-cache-status"
cf-ray จะมีเสมอถ้า Request ผ่าน Cloudflare และ cf-cache-status: HIT หมายความว่าไฟล์ถูก Serve จาก Cache ไม่ต้องดึงจาก Hostingแก้ปัญหาที่พบบ่อย
Error: Redirect Loop (ERR_TOO_MANY_REDIRECTS)
เกิดเมื่อ Cloudflare ตั้ง SSL เป็น Flexible แต่ Hosting มีการ Redirect HTTP → HTTPS อยู่แล้ว ทำให้วนซ้ำไม่สิ้นสุด แก้ไขโดยเปลี่ยน SSL Mode เป็น Full หรือ Full (Strict) แทน หรือปิด Force HTTPS ใน .htaccess ชั่วคราว
Error 525: SSL Handshake Failed
Cloudflare ไม่สามารถเชื่อมต่อ HTTPS กับ Hosting ได้ มักเกิดจาก SSL Certificate บน Hosting หมดอายุหรือตั้งค่าผิด แก้ไขโดยตรวจสอบ SSL ที่ Hosting ให้ Valid และยังไม่หมดอายุ หรือเปลี่ยน SSL Mode เป็น Full แทน Full (Strict)
Cache Stale — เนื้อหาเก่าแสดงอยู่
เมื่ออัปเดตเว็บแล้วแต่ผู้ใช้ยังเห็นเนื้อหาเก่า ให้ล้าง Cache ที่ Caching > Configuration > Purge Cache เลือก Purge Everything หรือ Custom Purge เฉพาะไฟล์ที่เปลี่ยน สำหรับ WordPress ให้ติดตั้ง Plugin เช่น Cloudflare Cache Purger เพื่อล้าง Cache อัตโนมัติเมื่อ Publish บทความใหม่
ส่ง Email ไม่ได้หลังเชื่อม Cloudflare
ตรวจสอบว่า MX Record ตั้งเป็น DNS Only (ไม่มี Proxy) Cloudflare ไม่รองรับการ Proxy Email Traffic ดังนั้น MX, SPF (TXT), DKIM และ DMARC ต้องตั้งเป็น DNS Only ทั้งหมด
คำถามที่พบบ่อย
Cloudflare ฟรีเพียงพอสำหรับเว็บทั่วไปไหม?
แผน Free ของ Cloudflare เพียงพอสำหรับเว็บไซต์ขนาดเล็กถึงกลางส่วนใหญ่ ให้ CDN, DDoS Protection, SSL ฟรี และ Cache ขั้นพื้นฐาน แผน Pro (20$/เดือน) เพิ่ม Firewall Rules ขั้นสูง, Image Optimization และ Mobile Redirect ที่ละเอียดกว่า
Cloudflare จะทำให้ Hosting ช้าลงได้ไหม?
ในกรณีปกติ Cloudflare จะช่วยให้เร็วขึ้นเพราะ Cache ที่ Edge แต่ถ้าเนื้อหาส่วนใหญ่ไม่ถูก Cache (เช่น Dynamic Page ที่เปลี่ยนตลอด) คำขอจะวิ่งผ่าน Cloudflare ไปยัง Hosting ทุกครั้ง ซึ่งอาจเพิ่ม Latency เล็กน้อย แต่ผลกระทบมักน้อยมากในทางปฏิบัติ
เปลี่ยน Nameserver กลับได้ไหมถ้าไม่ต้องการใช้ Cloudflare แล้ว?
ได้เสมอ เพียงเปลี่ยน Nameserver กลับเป็น Nameserver ของ Hosting เดิม DNS จะ Propagate ภายใน 24–48 ชั่วโมง ในระหว่างนั้นเว็บไซต์ยังทำงานได้ปกติ ไม่มี Downtime ที่เห็นได้ชัด