เพิ่งเห็นว่า 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 ดังนี้
[gist id="6dba1f1b7c2095e80a5d714c4a4ea7eb" file="Caddyfile"]จากนั้นทำการ start ด้วย Docker ไปเลย
[gist id="6dba1f1b7c2095e80a5d714c4a4ea7eb" file="Dockerfile"]เพียงเท่านี้ก็สามารถสร้าง File server และ reverse proxy แบบง่าย ๆ
ไว้ใช้งานในการพัฒนาระบบงานแล้ว
ส่วน code แบบเต็ม ๆ ดูเพิ่มได้ที่ GitHub::Up1