- ซ่อน IP Address ของ Server: Cloudflare จะซ่อน IP แท้จริงของ VPS ของคุณ ทำให้ผู้ประสงค์ร้ายไม่สามารถระบุตำแหน่งของเซิร์ฟเวอร์ได้โดยตรง
- ป้องกันการโจมตี DDoS: เมื่อเว็บไซต์ของคุณถูกโจมตีด้วยการส่งจำนวนมหาศาล Cloudflare จะดักจับและกรองการจราจรนั้นก่อนจึงจะเข้าถึง VPS
- CDN เร่งความเร็วไฟล์สถิตย์: ไฟล์รูปภาพ CSS JavaScript ถูก Serve จากเซิร์ฟเวอร์ Edge ของ Cloudflare แทนที่จะโหลดจาก VPS โดยตรง ลดความเครียดของเซิร์ฟเวอร์
- ตัวกรอง Security: Cloudflare มี WAF (Web Application Firewall) ในตัวเพื่อป้องกันการโจมตีที่ขั้นสูง
เปรียบเทียบ SSL Mode ของ Cloudflare
- Flexible: Cloudflare เข้ารหัสการเชื่อมต่อระหว่างผู้ใช้กับ Cloudflare เท่านั้น ไม่จำเป็นต้องมี SSL บน Origin Server (VPS)
- Full: Cloudflare กับ Origin Server มีการเข้ารหัส โดย Origin Server สามารถใช้ Self-signed Certificate ได้
- Full (Strict): Cloudflare เข้ารหัสและตรวจสอบ Certificate บน Origin Server ว่าเป็น Valid Certificate (แนะนำสำหรับความปลอดภัยสูงสุด)
ตั้งค่า Firewall ป้องกัน IP โดยตรง
เมื่อใช้ Cloudflare คุณควรตั้งค่า Firewall บน VPS ให้รับเฉพาะ Request ที่มาจาก Cloudflare IP Range เท่านั้น ไม่อนุญาตให้ IP อื่น ๆ เข้าถึง Port 80/443 โดยตรง วิธีนี้ช่วยป้องกันให้ผู้ประสงค์ร้ายไม่สามารถเข้าถึงเซิร์ฟเวอร์ของคุณได้โดยตรง
Cloudflare IP Range ที่สำคัญ:
103.21.244.0/22
103.22.200.0/22
103.31.4.0/22
104.16.0.0/13
104.24.0.0/14
108.162.192.0/18
131.0.72.0/22
141.101.64.0/18
162.158.0.0/15
172.64.0.0/13
173.245.48.0/20
188.114.96.0/20
190.93.240.0/20
197.234.240.0/22
198.41.128.0/17
ตัวอย่างการตั้งค่า UFW บน Ubuntu/Debian:
# อนุญาต IP ของ Cloudflare
sudo ufw allow from 103.21.244.0/22 to any port 80
sudo ufw allow from 103.21.244.0/22 to any port 443
sudo ufw allow from 103.22.200.0/22 to any port 80
sudo ufw allow from 103.22.200.0/22 to any port 443
sudo ufw allow from 104.16.0.0/13 to any port 80
sudo ufw allow from 104.16.0.0/13 to any port 443
# ปิด Port 80 และ 443 สำหรับ IP อื่น ๆ
sudo ufw deny in on eth0 to any port 80
sudo ufw deny in on eth0 to any port 443
- ติดตั้ง SSL Certificate บน VPS ของคุณ (ใช้ Let’s Encrypt หรือ Certbot)
- เพิ่ม Domain ของคุณเข้า Cloudflare Dashboard และเปลี่ยน Nameserver ชี้ไปที่ Cloudflare
- รอให้ DNS Propagation เสร็จ (โดยปกติใช้เวลา 24-48 ชั่วโมง)
- ตั้ง SSL Mode เป็น Full (Strict)
- เปิด Always Use HTTPS เพื่อให้การเชื่อมต่อทั้งหมดเป็น HTTPS
- ตั้งค่า Firewall Rules บน VPS เพื่ออนุญาตเฉพาะ Cloudflare IP
- กำหนด Cache Level เป็น Standard หรือ Aggressive ตามความเหมาะสมกับไซต์ของคุณ
- กำหนด Browser Cache TTL (Time To Live) ระหว่าง 30 นาทีถึง 1 วัน
- ทดสอบเว็บไซต์ของคุณให้แน่ใจว่าทุกอย่างทำงานได้ถูกต้อง
- ความปลอดภัยเหนือชั้น: IP ของเซิร์ฟเวอร์ของคุณซ่อนอยู่เบื้องหลัง Cloudflare Edge ทำให้ผู้ประสงค์ร้ายไม่สามารถโจมตีได้โดยตรง
- การป้องกัน DDoS ที่มีประสิทธิภาพ: Cloudflare มีข้อมูลจากการโจมตี DDoS นับล้านครั้งต่อวัน จึงสามารถจำแนกและกรอง Traffic ที่ผิดปกติได้อย่างดี
- ความเร็วของเว็บไซต์เพิ่มขึ้น: CDN ของ Cloudflare มีเซิร์ฟเวอร์ Edge กระจายอยู่ทั่วโลกกว่า 200 ประเทศ
- ลดความเครียดของเซิร์ฟเวอร์: Cloudflare Cache หลายไฟล์ สถิตย์ ทำให้ VPS ของคุณต้องทำงานน้อยลง
- การควบคุมการจราจรที่ดีขึ้น: Cloudflare มี Rate Limiting ในตัวเพื่อป้องกันการใช้งาน API อย่างผิดปกติ
การดู Analytics และติดตามประสิทธิภาพ
เพื่อติดตามว่า Cloudflare ช่วยลด Latency และ Bandwidth ได้เท่าไหร่ คุณสามารถดูสถิติได้จาก:
- Cloudflare Dashboard → Analytics & Reports: ดูจำนวน Requests ทั้งหมด
- Bandwidth Saved: แสดงปริมาณข้อมูลที่ Cloudflare ช่วยลดได้
- Threats Blocked: ดูจำนวนภัยคุณการที่ถูกป้องกัน
- Real User Metrics (RUM): ดูประสิทธิภาพเว็บไซต์จากมุมมองของผู้ใช้จริง
- Argo Smart Routing: ช่วยเลือกเส้นทาง Network ที่เร็วที่สุด
Header สำคัญจาก Cloudflare
เมื่อใช้ Cloudflare ร่วมกับ VPS คุณควรรู้จัก Header ต่าง ๆ ที่ Cloudflare ส่งมา เพื่อใช้สำหรับ Debugging และการตรวจสอบ:
- X-Forwarded-For: IP ที่แท้จริงของผู้ใช้ (ไม่ใช่ IP ของ Cloudflare)
- CF-Connecting-IP: IP ของผู้ใช้ที่เชื่อมต่อกับ Cloudflare
- CF-Ray: Unique ID สำหรับทั้งการร้องขอนั้น ใช้สำหรับ Debugging ปัญหาเฉพาะ
- CF-IPCountry: รหัสประเทศของผู้ใช้
เว็บไซต์ช้า แม้ใช้ Cloudflare
- ตรวจสอบว่า VPS ของคุณมีทรัพยากร CPU และ RAM เพียงพอหรือไม่
- เปิด Browser Cache ใน Cloudflare
- ใช้ Image Optimization ของ Cloudflare (Polish)
- เปิด Mirage เพื่อเร่งการโหลดรูปภาพบนอุปกรณ์มือถือ
Error 522 Connection Timed Out
- ตรวจสอบว่า VPS ของคุณขึ้นและทำงานอยู่หรือไม่
- ตรวจสอบ Firewall Rules บน VPS ว่าอนุญาต IP ของ Cloudflare หรือไม่
- ลองเปลี่ยน SSL Mode เป็น Full แทน Full (Strict)
- ตรวจสอบ Server Log บน VPS เพื่อดูรายละเอียดข้อผิดพลาด
Error 429 Too Many Requests
- อาจเป็นเพราะ Rate Limiting ของ Cloudflare ถูกเปิดไว้มากเกินไป
- ตรวจสอบ WAF Rules บน Cloudflare
- ลดค่า Rate Limiting หากจำเป็น
สรุป
การใช้ Cloudflare ร่วมกับ VPS เป็นการผสมผสานที่ยอดเยี่ยมสำหรับเว็บไซต์ที่ต้องการความเร็ว ความปลอดภัย และประสิทธิภาพสูงสุด คุณได้รับประโยชน์จาก CDN ทั่วโลกของ Cloudflare ที่เร่งความเร็วเนื้อหา เพิ่มเพิ่มความปลอดภัยจากการโจมตี DDoS และอื่น ๆ ส่วน VPS มอบพื้นฐาน Infrastructure ที่มั่นคง เชื่อถือได้ และสามารถจัดการปริมาณการจราจรขนาดใหญ่ได้ ด้วยการตั้งค่าให้ถูกต้อง ปัญหาจะหายไปเสียจนหมด และเว็บไซต์ของคุณจะทำงานได้อย่างราบรื่นทั้งวัน

