วิธีตั้งค่า Cloudflare Pages พร้อม Functions เพื่อสร้างเว็บไซต์สเตติกแบบ Server‑less อย่างปลอดภัย

ที่มาภาพ: Unknown Source

วิธีตั้งค่า Cloudflare Pages พร้อม Functions เพื่อสร้างเว็บไซต์สเตติกแบบ Server‑less อย่างปลอดภัย

⚡ สรุป 30 วิ

Cloudflare Pages เป็นแพลตฟอร์มที่ให้บริการโฮสต์เว็บไซต์สเตติกได้อย่างเร็วและปลอดภัย การเพิ่ม **Functions** เข้าไปทำให้เราสามารถรันโค้ดฝั่งเซิร์ฟเวอร์แบบ Server‑less ได้โดยไม่ต้องจัดการเครื่องเซิร์ฟเวอ…

Overview — Overview

Cloudflare Pages เป็นแพลตฟอร์มที่ให้บริการโฮสต์เว็บไซต์สเตติกได้อย่างเร็วและปลอดภัย การเพิ่ม Functions เข้าไปทำให้เราสามารถรันโค้ดฝั่งเซิร์ฟเวอร์แบบ Server‑less ได้โดยไม่ต้องจัดการเครื่องเซิร์ฟเวอร์เอง บทความนี้จะอธิบายขั้นตอนตั้งค่าตั้งแต่เริ่มต้นจนพร้อมใช้งานในรูปแบบที่เข้าใจง่ายและสแกนเร็ว

  • Pages จัดการส่วน UI/UX ของเว็บไซต์สเตติก
  • Functions ทำงานเป็น API endpoint ที่เรียกได้จากฝั่งไคลเอ็นต์หรือ webhook
  • การรวมกันทำให้เรามี Full‑stack static site ที่มีความปลอดภัยสูง
**Tip: เริ่มต้นด้วยการสร้าง repository บน GitHub หรือ GitLab แล้วเชื่อมต่อกับ Cloudflare เพื่อใช้ระบบ CI/CD อัตโนมัติ

Prerequisites — Prerequisites

ก่อนลงมือทำ ควรตรวจสอบว่ามีเครื่องมือและสิทธิ์ที่จำเป็นครบถ้วนแล้วหรือยัง

  • บัญชี Cloudflare ที่เปิดใช้งาน Pages และ Workers (Functions)
  • Repository โค้ดของเว็บไซต์สเตติกบน GitHub, GitLab หรือ Bitbucket
  • Node.js เวอร์ชันล่าสุดสำหรับการรันสคริปต์ build (ถ้าใช้เฟรมเวิร์กเช่น Astro, Next.js)
Tip: หากต้องการเปิดใช้งาน Zero Trust** ให้สมัครแผน Business หรือ Enterprise ของ Cloudflare เพื่อเข้าถึงฟีเจอร์ Access Control

Create Project — Create Project

ขั้นตอนแรกคือสร้างโปรเจคบน Cloudflare Pages แล้วเชื่อมต่อกับ repository

  • เข้าสู่ Dashboard > Pages > Create a project
  • เลือก Connect to Git แล้วเลือก provider (GitHub/GitLab/Bitbucket)
  • ระบุ Repository ที่ต้องการใช้และกำหนดชื่อโปรเจค
Tip: ตั้งค่า Branch** เป็น `main` หรือ `master` ตามที่คุณใช้เป็นสาขาหลัก เพื่อให้ระบบอัตโนมัติทำงานเมื่อมีการ push

Enable Functions — Enable Functions

หลังจากสร้าง Pages แล้ว ให้เปิดใช้งาน Functions (Workers) สำหรับโครงการเดียวกัน

  • ไปที่ Dashboard > Workers & Pages > Create a Worker
  • ตั้งชื่อเช่น `api` หรือ `functions` แล้วเลือก Bind to your Pages project
  • เลือก Add binding Pages Functions แล้วระบุชื่อโปรเจคที่สร้างไว้
**Tip: ใช้รูปแบบไฟล์ `*.js` หรือ `*.ts` ภายในโฟลเดอร์ `functions/` ของ repository เพื่อให้ระบบดึงมาเป็น endpoint โดยอัตโนมัติ

Build Settings — Build Settings

กำหนดขั้นตอนการ build ที่เหมาะกับเฟรมเวิร์กหรือ static site generator ที่ใช้

  • ในหน้า Pages project เลือก Settings > Build configuration
  • ระบุ Framework preset (เช่น Astro, Hugo, VuePress) หรือเลือก Custom หากต้องการกำหนดเอง
  • ใส่คำสั่ง `npm run build` และตำแหน่งโฟลเดอร์ผลลัพธ์ เช่น `dist/`
Tip: เพิ่มไฟล์ `.cloudflare/pages-config.json` เพื่อระบุค่า trailingSlash, cleanUrls หรือ headers** ที่ต้องการปรับแต่ง

Security — Security

เพื่อให้เว็บไซต์และ Functions ปลอดภัย ควรตั้งค่าการเข้าถึงและป้องกันการโจมตี

  • เปิดใช้งาน **WAF (Web Application Firewall) ใน Cloudflare Dashboard
  • กำหนด Access Policies ให้เฉพาะผู้ใช้ที่ได้รับอนุญาตเท่านั้นสามารถเรียก Functions ได้
  • ใช้ Environment Variables สำหรับคีย์ API หรือข้อมูลลับโดยไม่ต้องใส่ในโค้ด
ฟีเจอร์Cloudflare PagesVercelNetlify
WAF บิลท์‑อินใช่ (ระดับ Enterprise)ไม่ใช่ (ผ่าน Cloudflare)
Access Controlใช่ (Zero Trust)ใช่ (Password protection)ใช่ (Identity)
Functions RuntimeWorkers (V8 isolates)Serverless Functions (Node.js)Netlify Functions (AWS Lambda)
Tip: ใช้ Rate Limiting** เพื่อป้องกันการโจมตีแบบ DDoS ที่อาจเข้าถึง endpoint ของ Functions

Testing & Debugging — Testing

หลังตั้งค่าเสร็จ ควรตรวจสอบว่าทุกอย่างทำงานตามคาด

  • เปิด Pages Preview เพื่อดูเว็บไซต์สเตติกในสภาพแวดล้อม staging
  • ใช้ Workers Dev หรือ `wrangler dev` เพื่อตรวจสอบการตอบสนองของ Functions ในเครื่อง local
  • ตรวจสอบ Logs ของ Workers ผ่าน Dashboard > Workers > Logs
**Tip: หากเจอข้อผิดพลาดจาก CORS ให้ตั้งค่า Header `Access-Control-Allow-Origin: *` (หรือระบุโดเมนที่ต้องการ) ในไฟล์ `functions/_middleware.ts`

Versioning & CI/CD — Versioning

การจัดการเวอร์ชันช่วยให้ปล่อยฟีเจอร์ใหม่ได้อย่างมั่นใจ

  • ทุกครั้งที่ push ไปยังสาขา `main` ระบบจะทำ Automatic Deploy ให้กับ Pages และ Functions พร้อมกัน
  • ใช้ Git tags หรือ Release notes เพื่อระบุ version ของเว็บไซต์
  • หากต้องการ deploy แบบ staging ให้สร้างสาขาใหม่แล้วตั้งค่า Deploy preview ใน Settings
Tip: ตั้งค่า Protected Branches** บน GitHub เพื่อตรวจสอบโค้ดด้วย Pull Request ก่อนทำการ Deploy ไปยัง production

Summary — Summary

การใช้ Cloudflare Pages ร่วมกับ Functions ให้คุณสร้างเว็บไซต์สเตติกแบบ Server‑less ที่ปลอดภัยและเร็วได้ในไม่กี่ขั้นตอน

  • เชื่อมต่อ repository สร้าง Pages project เปิดใช้งาน Functions
  • กำหนด build config, ตั้งค่า security (WAF, Access Policies) และใช้ environment variables เพื่อปกป้องข้อมูลสำคัญ
  • ตรวจสอบด้วย preview, dev tools และ logs ก่อนทำการ Deploy จริง
  • ใช้ระบบ CI/CD ของ Git เพื่อให้เวอร์ชันใหม่ ๆ ปรากฏบน production อย่างอัตโนมัติ
Tip สุดท้าย: ติดตามเอกสารอัพเดตของ Cloudflare อยู่เสมอ เพราะฟีเจอร์ใหม่เช่น Pages Functions v2** จะทำให้การพัฒนาแอปแบบ Server‑less ง่ายและปลอดภัยยิ่งขึ้น

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
วิธีตั้งค่า Cloudflare Pages พร้อม Functions เพื่อสร้างเว็บไซต์สเตติกแบบ Server‑less อย่างปลอดภัย
ผู้เขียน
กองบรรณาธิการ Thai Tech News
แหล่ง
บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
วันที่เผยแพร่
13 สิงหาคม 2569 เวลา 19:50

Related

บทความที่เกี่ยวข้อง

วิธีย้ายและซิงค์ฐานข้อมูล MySQL ไปยัง Cloud Spanner ด้วย Terraform อย่างปลอดภัยGrowth
13 สิงหาคม 2569 เวลา 20:30

วิธีย้ายและซิงค์ฐานข้อมูล MySQL ไปยัง Cloud Spanner ด้วย Terraform อย่างปลอดภัย

การย้ายฐานข้อมูลจาก MySQL ไปยัง Cloud Spanner ต้องคำนึงถึงความถูกต้องของข้อมูลและขั้นตอนอัตโนมัติที่ทำซ้ำได้ **Terraform** จะช่วยสร้างโครงสร้างพื้นฐานแบบโค้ด (IaC) ส่วนเครื่องมือ Dataflow/Datastream จ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ10 นาที
วิธีย้ายฐานข้อมูล PostgreSQL ไปยัง Cloud‑Native Aurora Serverless บน AWS ด้วย Terraform อย่างปลอดภัยและอัตโนมัติGrowth
13 สิงหาคม 2569 เวลา 19:00

วิธีย้ายฐานข้อมูล PostgreSQL ไปยัง Cloud‑Native Aurora Serverless บน AWS ด้วย Terraform อย่างปลอดภัยและอัตโนมัติ

การย้ายฐานข้อมูลจาก PostgreSQL ดั้งเดิมไปยัง **Amazon Aurora Serverless** ช่วยให้คุณได้ประโยชน์ของสเกลอัตโนมัติและค่าใช้จ่ายตามการใช้งานจริง บทความนี้จะพา you ผ่านขั้นตอนทั้งหมดโดยใช้ **Terraform** เพ…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ8 นาที
วิธีตั้งค่า Prometheus Alertmanager ให้ส่งการแจ้งเตือนไปยัง Slack บนคลัสเตอร์ Kubernetes อย่างปลอดภัยGrowth
13 สิงหาคม 2569 เวลา 11:30

วิธีตั้งค่า Prometheus Alertmanager ให้ส่งการแจ้งเตือนไปยัง Slack บนคลัสเตอร์ Kubernetes อย่างปลอดภัย

การทำ **Monitoring** บน Kubernetes ไม่ได้จบแค่การเก็บข้อมูลเท่านั้น การแจ้งเตือน (Alert) ให้ทีมรับรู้เหตุการณ์สำคัญก็เป็นสิ่งจำเป็น บทความนี้จะสอนวิธีตั้งค่า **Prometheus Alertmanager** เพื่อส่งข้อควา…

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ10 นาที
วิธีกำหนดค่าและใช้ HashiCorp Boundary เพื่อจัดการการเข้าถึง Secrets แบบ Zero‑Trust บน Linux อย่างปลอดภัยGrowth
12 สิงหาคม 2569 เวลา 20:30

วิธีกำหนดค่าและใช้ HashiCorp Boundary เพื่อจัดการการเข้าถึง Secrets แบบ Zero‑Trust บน Linux อย่างปลอดภัย

HashiCorp Boundary เป็นเครื่องมือที่ช่วยจัดการ **Zero‑Trust Access** ให้กับ Secrets บน Linux โดยไม่ต้องเปิดพอร์ตหรือ VPN การตั้งค่าอาจดูซับซ้อนแต่ถ้าแบ่งเป็นขั้นตอนเล็ก ๆ จะทำให้เข้าใจและใช้งานได้เร็ว

ต้นฉบับ TTN · ร่างด้วย AI ตรวจโดยบรรณาธิการ7 นาที
คัดลอกลิงก์แล้ว!