โลโก้ Caddy
อันดับ 37 ใน Top 100 Web Server และ ProxyApache License 2.0 (โอเพนซอร์ส)

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

Caddy คือเว็บเซิร์ฟเวอร์ยุคใหม่ที่ขึ้นชื่อเรื่องการจัดการใบรับรอง HTTPS ให้อัตโนมัติตั้งแต่ครั้งแรกที่รัน ไฟล์ตั้งค่าสั้นกว่าคู่แข่งหลายเท่า จึงเหมาะกับทีมที่อยากได้เว็บปลอดภัยโดยไม่ต้องดูแลใบรับรองเอง

หมวดหมู่
Web Server และ Proxy
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
1 vCPU · RAM 1 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Caddy คืออะไร

จุดขายหลักของ Caddy คือ HTTPS โดยปริยาย เมื่อระบุชื่อโดเมนในไฟล์ตั้งค่า Caddy จะขอใบรับรองจาก Let's Encrypt ติดตั้ง และต่ออายุให้เองตลอด โดยไม่ต้องติดตั้งเครื่องมือเพิ่มหรือตั้ง Cron

ไฟล์ตั้งค่าที่ชื่อ Caddyfile ใช้ไวยากรณ์ที่สั้นมาก การทำ Reverse Proxy หนึ่งโดเมนใช้เพียงสองบรรทัด ซึ่งลดโอกาสตั้งค่าผิดพลาดเมื่อเทียบกับไฟล์ตั้งค่าที่ยาวของเว็บเซิร์ฟเวอร์แบบเดิม

Caddy เขียนด้วยภาษา Go และแจกเป็นไฟล์ปฏิบัติการเดียว ติดตั้งง่ายและอัปเดตง่าย เหมาะกับงาน Proxy หน้าคอนเทนเนอร์และเว็บภายในองค์กร ส่วนงานที่ต้องจูนละเอียดระดับสูงสุดยังนิยม Nginx อยู่

แผนผังการวางระบบ Caddy บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 80, 443 ตัว Caddy และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 1 vCPU แรม 1 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Caddy ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

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

HTTPS อัตโนมัติ

ขอ ติดตั้ง และต่ออายุใบรับรองให้เองทั้งหมด รวมถึงการเปลี่ยนเส้นทางจาก HTTP ไป HTTPS

ไฟล์ตั้งค่าสั้นและอ่านง่าย

Caddyfile หนึ่งไฟล์ครอบคลุมหลายโดเมน อ่านแล้วเข้าใจได้ทันทีแม้ไม่ใช่สาย DevOps

API สำหรับปรับค่าแบบสด

เปลี่ยนการตั้งค่าผ่าน REST API โดยไม่ต้องรีสตาร์ตบริการ เหมาะกับระบบอัตโนมัติ

ไฟล์เดียวจบ

ไม่มี Dependency ให้ตามติดตั้ง ย้ายเครื่องหรืออัปเกรดทำได้เร็ว

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

  • Reverse Proxy หน้าแอปที่รันในคอนเทนเนอร์หลายตัว
  • เว็บภายในองค์กรที่ต้องการ HTTPS แต่ไม่มีทีมดูแลใบรับรอง
  • เว็บ Static และเอกสารภายในที่อยากขึ้นให้เร็วที่สุด
  • สภาพแวดล้อมทดสอบที่สร้างและลบบ่อย

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

แผนภาพเทียบสเปก Cloud Server สำหรับ Caddy 3 ระดับ เริ่มจาก 1 vCPU แรม 1 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU แรม 8 GB ดิสก์ NVMe 80 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นเว็บ Static หรือ Proxy หน้าแอปเดียว1 vCPU1 GBNVMe 20 GB
แนะนำProxy หลายบริการบนเครื่องเดียว2 vCPU4 GBNVMe 40 GB
ทราฟฟิกสูงชั้นหน้าที่รับผู้ใช้พร้อมกันจำนวนมาก4 vCPU8 GBNVMe 80 GB

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Caddy บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ubuntu Server 24.04 LTS หรือ Debian 12
  • โดเมนที่ชี้มาที่ไอพีเซิร์ฟเวอร์แล้ว (จำเป็นสำหรับ HTTPS อัตโนมัติ)
  • เปิดพอร์ต 80 และ 443 ให้เข้าถึงจากอินเทอร์เน็ต

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    เพิ่มที่เก็บแพ็กเกจของ Caddy

    sudo apt -y install debian-keyring debian-archive-keyring apt-transport-https curl
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
    curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
  2. 2

    ติดตั้ง Caddy

    sudo apt update
    sudo apt -y install caddy
  3. 3

    แก้ไฟล์ /etc/caddy/Caddyfile

    ตัวอย่างนี้เสิร์ฟไฟล์เว็บหนึ่งโดเมน และ Proxy อีกโดเมนไปยังแอปที่รันบนพอร์ต 3000

    example.com {
      root * /var/www/example.com
      file_server
      encode zstd gzip
    }
    
    app.example.com {
      reverse_proxy 127.0.0.1:3000
    }
  4. 4

    โหลดการตั้งค่าใหม่

    Caddy จะขอใบรับรอง HTTPS ให้ทั้งสองโดเมนโดยอัตโนมัติภายในไม่กี่วินาที

    sudo systemctl reload caddy
    sudo systemctl status caddy --no-pager

ถ้าโดเมนยังไม่ชี้มาที่เซิร์ฟเวอร์ Caddy จะขอใบรับรองไม่สำเร็จ ให้ตั้ง DNS ให้เรียบร้อยก่อนรีโหลด

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

พอร์ตโปรโตคอลใช้ทำอะไร
80TCPHTTP และการตรวจสอบโดเมนเพื่อออกใบรับรอง
443TCP/UDPHTTPS รวม HTTP/3

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

  • จำกัดสิทธิ์ผู้ใช้ที่รัน Caddy และไม่รันด้วย root โดยไม่จำเป็น
  • ปิด API สำหรับปรับค่าไม่ให้เข้าถึงจากภายนอกเครื่อง
  • เปิด Log แบบ JSON แล้วส่งเข้าระบบรวม Log
  • ตั้งค่า Rate Limit หรือวาง WAF ไว้ด้านหน้าสำหรับเว็บสาธารณะ

ทำไมควรรัน Caddy บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

เหมาะกับทีมเล็กที่ไม่มีคนดูแลใบรับรอง เพราะ Caddy จัดการต่ออายุ HTTPS ให้เองบน Cloud Server

ใช้เป็นประตูหน้าให้บริการหลายตัวในเครื่องเดียว ประหยัดค่าเครื่องเมื่อรันหลายระบบภายใน

ติดตั้งเสร็จภายในไม่กี่นาทีบน Cloud Server ที่เพิ่งสร้าง ทำให้ขึ้นระบบทดสอบได้เร็ว

คำถามที่พบบ่อยเกี่ยวกับ Caddy

Caddy เหมาะกับเว็บ Production จริงไหม

เหมาะ มีการใช้งานจริงในระบบ Production จำนวนมาก จุดที่ต้องพิจารณาคือถ้าต้องจูนละเอียดมากหรือมีทีมที่คุ้นเคย Nginx อยู่แล้ว การอยู่กับ Nginx อาจสะดวกกว่าเพราะเอกสารและตัวอย่างมีมากกว่า

ทำไม Caddy ขอใบรับรองไม่สำเร็จ

สาเหตุที่พบบ่อยที่สุดคือ DNS ยังไม่ชี้มาที่เซิร์ฟเวอร์ หรือพอร์ต 80 ถูกบล็อกโดย Firewall ตรวจสองข้อนี้ก่อน จากนั้นดู Log ด้วย journalctl -u caddy

ย้ายจาก Nginx มา Caddy ยากไหม

สำหรับงาน Proxy และเว็บ Static ทำได้เร็วมากเพราะไฟล์ตั้งค่าสั้นกว่า แต่ถ้ามีกฎ Rewrite ที่ซับซ้อนต้องเขียนใหม่ตามไวยากรณ์ของ Caddy ควรทดสอบบนเครื่องทดสอบก่อนเปลี่ยนของจริง

ให้เราติดตั้ง Caddy ให้ฟรี บน Cloud Server ในไทย

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