โลโก้ Traefik
อันดับ 35 ใน Top 100 Web Server และ ProxyMIT (โอเพนซอร์ส)

Traefik คืออะไร และวิธีติดตั้งบน Cloud Server

Traefik คือ Reverse Proxy ที่ออกแบบมาสำหรับสภาพแวดล้อมที่บริการเกิดและดับตลอดเวลาอย่าง Docker และ Kubernetes จุดเด่นคือมันอ่านป้ายกำกับของคอนเทนเนอร์แล้วตั้งเส้นทางกับใบรับรอง HTTPS ให้เองโดยไม่ต้องแก้ไฟล์ตั้งค่า

หมวดหมู่
Web Server และ Proxy
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 2 GB
ไลเซนส์
MIT (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • 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 บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 80, 443, 8080 ตัว Traefik และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 2 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Traefik ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Traefik

ตรวจจับบริการอัตโนมัติ

อ่านป้ายกำกับของคอนเทนเนอร์แล้วสร้างเส้นทางให้ทันทีโดยไม่ต้องรีสตาร์ต

HTTPS อัตโนมัติ

ขอและต่ออายุใบรับรองจาก Let's Encrypt ให้ทุกโดเมนที่กำหนดไว้

Middleware สำเร็จรูป

เพิ่มการยืนยันตัวตน จำกัดอัตราการเรียก หรือบีบอัดข้อมูล ได้ด้วยการติดป้ายกำกับเพิ่ม

แดชบอร์ดในตัว

เห็นเส้นทางทั้งหมด สถานะใบรับรอง และปัญหาการตั้งค่าได้จากหน้าเดียว

ใช้ Traefik ทำอะไรได้บ้าง

  • ประตูหน้าของเซิร์ฟเวอร์ที่รันหลายบริการด้วย Docker Compose
  • Ingress Controller ในคลัสเตอร์ Kubernetes
  • ระบบที่ต้องขึ้นบริการใหม่บ่อยและไม่อยากแก้ไฟล์ตั้งค่าทุกครั้ง
  • เว็บภายในองค์กรที่ต้องการชั้นยืนยันตัวตนหน้าบริการต่าง ๆ

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Traefik 3 ระดับ เริ่มจาก 2 vCPU แรม 2 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU แรม 16 GB ดิสก์ NVMe 160 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นเซิร์ฟเวอร์เดียวที่รันไม่กี่บริการ2 vCPU2 GBNVMe 40 GB
แนะนำเครื่องที่รันหลายสิบคอนเทนเนอร์พร้อมกัน4 vCPU8 GBNVMe 80 GB
ระบบใหญ่คลัสเตอร์ที่มีทราฟฟิกสูงและหลายโดเมน8 vCPU16 GBNVMe 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. 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. 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. 3

    สั่งรัน

    docker compose up -d
    docker compose logs -f traefik

อย่าเปิดแดชบอร์ดของ Traefik สู่อินเทอร์เน็ตโดยไม่ใส่การยืนยันตัวตน เพราะมันเปิดเผยโครงสร้างบริการทั้งหมดของคุณ

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
80TCPHTTP และการตรวจสอบโดเมนของ Let's Encrypt
443TCPHTTPS
8080TCPแดชบอร์ด (ควรปิดจากภายนอกหรือใส่รหัสผ่าน)

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้ง 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 ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด