เพิ่งเห็นว่า Caddy 2 ได้ปล่อยออกมาให้ใช้งานแล้ว
Caddy เป็น project ที่พัฒนาด้วยภาษา Go
ใน version ใหม่นี้ ทำการเขียนใหม่เลย
โดยแยกส่วนการทำงานต่าง ๆ เป็น module ย่อย ๆ
เพื่อให้ง่ายต่อการพัฒนาและเพิ่มความสามารถต่าง ๆ ตามที่ configuration

ความสามารถเด่นหลัก ๆ ของ Caddy 2 ประกอบไปด้วย

  • ความง่ายและเร็ว
  • จัดการ certificate ให้แบบอัตโนมัติ ซึ่งจะทำงานร่วมกับ Let’s encrypt
  • File server
  • Reverse proxy

เพื่อความสนุกจึงมาลองใช้งาน Caddy 2 สำหรับการทำงาน File server และ Reverse proxy

โดยปกติมักจะใช้ NGINX แต่มาลองใช้ผ่าน Caddy ดู สิ่งที่ต้องการเป็นดังนี้

  • File server สำหรับจัดเก็บพวก HTML, CSS และ JavaScript
  • Reverse proxy สำหรับการส่ง request ที่เข้ามาเป็น /api ผ่ายน port 3333 จะ reverse ไปยัง API ที่เป็น private ซึ่ง run ด้วย port=8000

การใช้งานง่ายมาก ๆ เพียงทำการ config ในไฟล์  Caddyfile ดังนี้

จากนั้นทำการ start ด้วย Docker ไปเลย

เพียงเท่านี้ก็สามารถสร้าง File server และ reverse proxy แบบง่าย ๆ 
ไว้ใช้งานในการพัฒนาระบบงานแล้ว

ส่วน code แบบเต็ม ๆ ดูเพิ่มได้ที่ GitHub::Up1