การตั้งค่า Cloudflare ร่วมกับ Plesk Control Panel บน ผู้ให้บริการโฮสติ้ง (DE) Cloud VPS เป็นสิ่งที่สำคัญมากสำหรับการปกป้องและเพิ่มประสิทธิภาพเว็บไซต์ของคุณ Cloudflare นำเสนอ CDN, DDoS Protection, WAF และ DNS Management ที่ทรงพลัง ในขณะที่ Plesk Control Panel ให้ความสะดวกในการจัดการ Domain, Website และ SSL Certificate ทั้งหมดบน VPS ในบทความนี้ เราจะแนะนำขั้นตอนการตั้งค่า Cloudflare กับ Plesk อย่างสมบูรณ์ที่สุด
- เพิ่มความเร็วของเว็บไซต์ผ่าน CDN ของ Cloudflare
- ปกป้องจาก DDoS Attack และการเข้าถึงที่ไม่พึงประสงค์
- ลดภาระของ Server บน VPS
- ให้ Analytics และ Insights เกี่ยวกับ Traffic
- จัดการ DNS Records ผ่าน Cloudflare Interface ด้วย Plesk Integration
ขั้นตอนที่ 1: สมัครและสร้าง Cloudflare Account
ขั้นแรก ให้เข้าไปที่เว็บไซต์ Cloudflare ที่ https://www.cloudflare.com และสมัครบัญชีใหม่ หากคุณมี Account อยู่แล้ว ให้ Log In แทน ระบบจะขออีเมล และรหัสผ่านสำหรับการสมัครสมาชิก
ขั้นตอนที่ 2: เพิ่มโดเมนไปยัง Cloudflare
หลังจากสมัครสำเร็จ ให้คลิก “Add a Site” และป้อนชื่อโดเมนของคุณ Cloudflare จะสแกนและแสดง DNS Records ที่มีอยู่ของโดเมนของคุณ เลือก Plan ที่ต้องการ (Free, Pro, Business ฯลฯ)
ขั้นตอนที่ 3: เปลี่ยน Nameservers ที่ Registrar
Cloudflare จะให้ Nameservers มาให้คุณ 2 ตัว ให้เข้าไปที่บริษัทรับเขียนโดเมน (Domain Registrar) ของคุณ เช่น Namecheap, GoDaddy หรือ บริษัทอื่น ๆ แล้วเปลี่ยน Nameservers ให้ชี้ไปยัง Nameservers ของ Cloudflare
ตัวอย่าง Cloudflare Nameservers:
ns1.cloudflare.com
ns2.cloudflare.com
การเปลี่ยน Nameservers อาจใช้เวลา 24-48 ชั่วโมงในการ Propagate ทั่วโลก
ตัวอย่าง DNS Records:
1. A Record:
Name: @ (root domain)
Type: A
IPv4 Address: xxx.xxx.xxx.xxx (IP VPS)
TTL: Auto
Proxy Status: DNS only (ก่อนตั้งค่า SSL)
2. www CNAME Record:
Name: www
Type: CNAME
Target: your-domain.com
TTL: Auto
Proxy Status: DNS only
ขั้นตอนที่ 5: สร้าง Cloudflare API Token สำหรับ Plesk Integration
เพื่อให้ Plesk สามารถจัดการ DNS Records ผ่าน Cloudflare API ได้ คุณต้องสร้าง API Token ดังนี้:
- ไปที่ Cloudflare Dashboard และเลือก Account Settings (รูปไอคอนรูปคน)
- ไปที่ API Tokens section
- คลิก “Create Token”
- เลือก Template: “Edit zone DNS” หรือสร้าง Custom Token ด้วย Permissions
- ตั้งชื่อ Token เช่น “Plesk Integration”
- กำหนด Permissions ให้ครบถ้วน (Zone DNS Edit, Zone Settings Read)
- คัดลอก Token ที่สร้างขึ้นมา
ขั้นตอนที่ 6: เชื่อมต่อ Cloudflare กับ Plesk
เข้า Plesk Control Panel บน VPS ของคุณ ไปที่ Tools & Settings > External Services > Cloudflare แล้ว Login ด้วย Cloudflare Account หรือวาง API Token ที่คุณสร้างไว้
ขั้นตอนเชื่อมต่อ Plesk กับ Cloudflare:
1. เข้า Plesk Control Panel
2. ไปที่ Tools & Settings > External Services > Cloudflare
3. คลิก "Connect Cloudflare Account"
4. เลือกหรือวาง API Token
5. เลือก Zone (Domain) ที่ต้องการจัดการ
6. คลิก "Connect"
7. Plesk จะแสดง Cloudflare Settings
ขั้นตอนที่ 7: เปิด Proxy (Orange Cloud) สำหรับโดเมน
หลังจากเชื่อมต่อ Cloudflare กับ Plesk แล้ว ให้กลับไปที่ Cloudflare Dashboard และเปิด Proxy ให้สำหรับ DNS Records ของคุณ โดยเปลี่ยนสถานะจาก “DNS only” เป็น “Proxied” (Orange Cloud)
การเปิด Proxy จะทำให้ Traffic ของคุณผ่าน Cloudflare ก่อน ซึ่งจะได้รับประโยชน์จาก CDN, DDoS Protection และ WAF ของ Cloudflare
ขั้นตอนที่ 8: ตั้งค่า SSL/TLS Mode เป็น Full (Strict)
เข้า Cloudflare Dashboard และไปที่ SSL/TLS > Overview เลือก SSL/TLS Mode ให้เป็น Full (Strict) เพราะ Plesk บน VPS มี SSL Certificate (Let’s Encrypt หรือ Custom SSL) ติดตั้งอยู่แล้ว
SSL/TLS Mode สำหรับ Plesk + Cloudflare:
1. Flexible (ไม่แนะนำ):
- Connection ระหว่าง Client-Cloudflare: HTTPS
- Connection ระหว่าง Cloudflare-Server: HTTP (ไม่ปลอดภัย)
2. Full:
- Connection ทั้งสองข้าง: HTTPS
- ไม่ตรวจสอบ Certificate Validity (ใช้ได้สำหรับ Self-Signed)
3. Full (Strict) - แนะนำมากที่สุด:
- Connection ทั้งสองข้าง: HTTPS
- ตรวจสอบ Certificate Validity (ต้องมี Valid SSL)
- เหมาะสมเมื่อใช้ Let's Encrypt หรือ Commercial SSL
ขั้นตอนที่ 9: ตั้งค่า Firewall Rules ให้ Allow Cloudflare IP Ranges
เมื่อใช้ Cloudflare Proxy เข้ามา ทุก Request จะมาจาก Cloudflare IP แทนที่จะมาจาก Real Visitor IP ดังนั้นคุณต้องตั้งค่า Plesk หรือ Firewall ของ VPS ให้ Allow Cloudflare IP Ranges
Cloudflare มีรายชื่อ IP Ranges อย่างเป็นทางการ คุณสามารถ Whitelist IPs เหล่านี้ได้ใน Firewall Rules
ขั้นตอนที่ 10: ตรวจสอบ Real Visitor IP ใน Plesk Logs
Cloudflare จะส่ง Real Visitor IP ผ่าน HTTP Header ชื่อ CF-Connecting-IP ให้ตั้งค่า Plesk หรือ Web Server (Apache/Nginx) ให้อ่าน Header นี้เพื่อดู Real IP แทน Cloudflare IP
ตั้งค่าอ่าน Real IP จาก Cloudflare Header:
สำหรับ Apache (mod_remoteip):
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 1.2.3.4 5.6.7.8 (Cloudflare IPs)
สำหรับ Nginx:
set_real_ip_from 1.2.3.4;
set_real_ip_from 5.6.7.8;
real_ip_header CF-Connecting-IP;
ขั้นตอนที่ 11: ตั้งค่า Cache Rules เบื้องต้น
ไปที่ Cloudflare Dashboard > Caching > Cache Rules และตั้งค่า Cache สำหรับ Static Assets เช่น CSS, JavaScript, Images:
ตัวอย่าง Cache Rules:
1. Static Assets (CSS, JS, Images):
- Path: *.css, *.js, *.jpg, *.png, *.gif
- Cache TTL: 30 days
2. Bypass Cache for Admin Pages:
- Path: /wp-admin/*, /wp-login.php
- Bypass Cache
3. Bypass Cache for Logged-in Users:
- Cookie: wordpress_logged_in
- Bypass Cache
ปัญหา: SSL Error หลังจากเปิด Cloudflare Proxy
สาเหตุ: SSL/TLS Mode ตั้งค่าเป็น Flexible หรือ Origin Server ไม่มี Valid SSL Certificate
วิธีแก้ไข: เปลี่ยน SSL/TLS Mode เป็น Full (Strict) และให้แน่ใจว่า Plesk มี Valid SSL Certificate
ปัญหา: IP Address ถูก Block โดย Plesk Firewall
สาเหตุ: Plesk Firewall ไม่ Trust Cloudflare IP Ranges
วิธีแก้ไข: Whitelist Cloudflare IP Ranges ใน Plesk Firewall Rules
ปัญหา: Real Visitor IP ไม่แสดงในเว็บไซต์
สาเหตุ: Web Server ไม่ได้อ่าน CF-Connecting-IP Header
วิธีแก้ไข: ติดตั้ง mod_remoteip สำหรับ Apache หรือตั้งค่า real_ip_header ใน Nginx
สรุป
การตั้งค่า Cloudflare สำหรับ Plesk บน VPS ไม่ซับซ้อน เมื่อทำตามขั้นตอนข้างต้น คุณจะได้เว็บไซต์ที่เร็วขึ้น ปลอดภัยมากขึ้น และทนต่อการโจมตี DDoS ได้ดีขึ้น ผู้ให้บริการโฮสติ้ง Cloud VPS ที่มี Plesk Control Panel ช่วยให้การจัดการ Cloudflare ง่ายและมีประสิทธิภาพ

