Traefik คืออะไร และวิธีติดตั้งบน Cloud Server
Traefik คือ Reverse Proxy ที่ออกแบบมาสำหรับสภาพแวดล้อมที่บริการเกิดและดับตลอดเวลาอย่าง Docker และ Kubernetes จุดเด่นคือมันอ่านป้ายกำกับของคอนเทนเนอร์แล้วตั้งเส้นทางกับใบรับรอง HTTPS ให้เองโดยไม่ต้องแก้ไฟล์ตั้งค่า
- หมวดหมู่
- Web Server และ Proxy
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 2 GB
- ไลเซนส์
- MIT (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Traefik คืออะไร
ในระบบที่รันหลายบริการด้วย Docker การเพิ่มบริการใหม่แต่ละครั้งมักต้องไปแก้ไฟล์ตั้งค่าของ Reverse Proxy แล้วรีโหลด Traefik ตัดขั้นตอนนี้ทิ้งด้วยการเฝ้าดู Docker โดยตรง เมื่อมีคอนเทนเนอร์ใหม่ที่ติดป้ายกำกับไว้ มันจะสร้างเส้นทางให้ทันที
Traefik ยังจัดการใบรับรอง HTTPS ให้อัตโนมัติผ่าน Let's Encrypt เช่นเดียวกับ Caddy และมีแดชบอร์ดให้ดูว่าตอนนี้มีเส้นทางอะไรทำงานอยู่บ้าง ซึ่งช่วยมากเวลาระบบมีหลายสิบบริการ
ข้อควรระวังคือความยืดหยุ่นนี้แลกมาด้วยแนวคิดที่ต้องทำความเข้าใจ ทั้ง Entry Point, Router, Service และ Middleware ทีมที่เพิ่งเริ่มอาจใช้เวลาปรับตัวมากกว่าการเขียนไฟล์ตั้งค่าแบบตรงไปตรงมา
ความสามารถเด่นของ Traefik
ตรวจจับบริการอัตโนมัติ
อ่านป้ายกำกับของคอนเทนเนอร์แล้วสร้างเส้นทางให้ทันทีโดยไม่ต้องรีสตาร์ต
HTTPS อัตโนมัติ
ขอและต่ออายุใบรับรองจาก Let's Encrypt ให้ทุกโดเมนที่กำหนดไว้
Middleware สำเร็จรูป
เพิ่มการยืนยันตัวตน จำกัดอัตราการเรียก หรือบีบอัดข้อมูล ได้ด้วยการติดป้ายกำกับเพิ่ม
แดชบอร์ดในตัว
เห็นเส้นทางทั้งหมด สถานะใบรับรอง และปัญหาการตั้งค่าได้จากหน้าเดียว
ใช้ Traefik ทำอะไรได้บ้าง
- ประตูหน้าของเซิร์ฟเวอร์ที่รันหลายบริการด้วย Docker Compose
- Ingress Controller ในคลัสเตอร์ Kubernetes
- ระบบที่ต้องขึ้นบริการใหม่บ่อยและไม่อยากแก้ไฟล์ตั้งค่าทุกครั้ง
- เว็บภายในองค์กรที่ต้องการชั้นยืนยันตัวตนหน้าบริการต่าง ๆ
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นเซิร์ฟเวอร์เดียวที่รันไม่กี่บริการ | 2 vCPU | 2 GB | NVMe 40 GB |
| แนะนำเครื่องที่รันหลายสิบคอนเทนเนอร์พร้อมกัน | 4 vCPU | 8 GB | NVMe 80 GB |
| ระบบใหญ่คลัสเตอร์ที่มีทราฟฟิกสูงและหลายโดเมน | 8 vCPU | 16 GB | NVMe 160 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Traefik บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Cloud Server ที่ติดตั้ง Docker และ Docker Compose แล้ว
- โดเมนที่ชี้มาที่เซิร์ฟเวอร์ พร้อมเรกคอร์ดย่อยสำหรับแต่ละบริการ
- อีเมลสำหรับลงทะเบียนกับ Let's Encrypt
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
สร้างไฟล์ docker-compose.yml ของ Traefik
services: traefik: image: traefik:v3 restart: always command: - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "[email protected]" - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json" - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web" ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./letsencrypt:/letsencrypt - 2
ติดป้ายกำกับให้บริการที่ต้องการเปิดสู่ภายนอก
เพิ่ม labels ในบริการอื่นของไฟล์เดียวกัน Traefik จะสร้างเส้นทางและขอใบรับรองให้เอง
app: image: nginx:alpine labels: - "traefik.enable=true" - "traefik.http.routers.app.rule=Host(`app.example.com`)" - "traefik.http.routers.app.entrypoints=websecure" - "traefik.http.routers.app.tls.certresolver=le" - 3
สั่งรัน
docker compose up -d docker compose logs -f traefik
อย่าเปิดแดชบอร์ดของ Traefik สู่อินเทอร์เน็ตโดยไม่ใส่การยืนยันตัวตน เพราะมันเปิดเผยโครงสร้างบริการทั้งหมดของคุณ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 80 | TCP | HTTP และการตรวจสอบโดเมนของ Let's Encrypt |
| 443 | TCP | HTTPS |
| 8080 | TCP | แดชบอร์ด (ควรปิดจากภายนอกหรือใส่รหัสผ่าน) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้ง exposedbydefault เป็น false เพื่อให้เปิดเฉพาะบริการที่ติดป้ายกำกับไว้จริง
- ต่อ Docker socket แบบอ่านอย่างเดียว และพิจารณาใช้ Proxy คั่นเพื่อลดสิทธิ์
- ใส่ Middleware ยืนยันตัวตนหน้าแดชบอร์ดและบริการภายใน
- จำกัดอัตราการเรียกด้วย Middleware สำหรับปลายทางที่เปิดสาธารณะ
ทำไมควรรัน Traefik บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
เหมาะกับ Cloud Server ที่รันหลายระบบภายในเครื่องเดียว เพราะเพิ่มบริการใหม่ได้โดยไม่ต้องแตะไฟล์ตั้งค่ากลาง
ทีมพัฒนาขึ้นสภาพแวดล้อมทดสอบใหม่ได้เองในไม่กี่นาที ลดงานที่ต้องรอฝ่ายระบบ
รวมหลายบริการไว้บนเครื่องเดียวช่วยคุมค่าใช้จ่ายรายเดือน แล้วค่อยแยกเครื่องเมื่อโหลดสูงขึ้น
คำถามที่พบบ่อยเกี่ยวกับ Traefik
Traefik เหมาะกับใคร
เหมาะกับทีมที่รันงานด้วย Docker หรือ Kubernetes และมีบริการเกิดใหม่บ่อย ถ้าเซิร์ฟเวอร์รันเว็บไม่กี่ตัวและไม่ค่อยเปลี่ยน Nginx หรือ Caddy จะเรียบง่ายกว่า
Traefik กับ Nginx Proxy Manager ต่างกันอย่างไร
Nginx Proxy Manager ให้ตั้งค่าผ่านหน้าเว็บ เหมาะกับคนที่ชอบคลิกมากกว่าพิมพ์ ส่วน Traefik ตั้งค่าผ่านป้ายกำกับในไฟล์ Compose ซึ่งเข้ากับแนวทางที่เก็บทุกอย่างเป็นโค้ดได้ดีกว่า
ทำไมได้ใบรับรองไม่สำเร็จ
ตรวจว่าโดเมนชี้มาที่เซิร์ฟเวอร์แล้ว พอร์ต 80 เปิดอยู่ และ Let's Encrypt ไม่ได้จำกัดจำนวนคำขอของโดเมนนั้นชั่วคราวจากการทดสอบซ้ำหลายรอบ
ทางเลือกอื่นที่คล้ายกับ Traefik
แอปอื่นในหมวด Web Server และ Proxy
- #3Nginxเว็บเซิร์ฟเวอร์และ Reverse Proxy ที่เร็วที่สุด
- #8Apache HTTP Serverเว็บเซิร์ฟเวอร์รุ่นคลาสสิกที่รองรับ .htaccess
- #36HAProxyLoad Balancer ระดับ Production
- #37Caddyเว็บเซิร์ฟเวอร์ที่ออก SSL อัตโนมัติ
- Envoy ProxyService Proxy สำหรับสถาปัตยกรรม Microservices
- Nginx Proxy Managerจัดการ Reverse Proxy และ SSL จากหน้าเว็บ
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Traefik ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด