Caddy تحت مجوز General Public License (GPL) یک وب سرور چند پلتفرمی که قابلیت نصب بر روی سیستم عامل های ویندوز ، لینوکس ، اندروید و … را دارد و به صورت open-source ارائه میشود. وب سرور کدی برای کمک به فرآیندهای تکراری استفاده میشود، برای مثال هنگام نصب سرویس هایی که برای نصب زمان زیادی نیاز دارند و یا با یک پیکربندی و به طور یکنواخت از طریق REST API بروزرسانی میشوند.
نسخههای Caddy (WebServer) شامل مجموعهای از ماژول هاست از جمله: HTTP ، TLS Automation و برنامهی PKI اما بیشتر به دلیل پشتیبانی داخلی از HTTPS شناخته شده است. Caddy در محیط Go کدنویسی شده است و از کتابخانههای پیشفرض Go استفاده میکند.
کدی در ابتدا توسط Matthew Holt در سال 2014 توسعه یافت و در سال 2015 برای عموم منتشر شد و در مدت زمان کوتاهی بشدت مورد استقبال قرار گرفت و طرفداران زیادی پیدا کرد.
سرور HTTP:
ماژول رسمی برنامه Caddy مانند HTTP Server عمل میکند و بیشتر به عنوان یک Reverse Proxy و یک سرور فایل استاتیک مورد استفاده قرار میگیرد. ماژول هایی که در کدی میتوان آنها را فراخوانی کرد شامل: سرور فایل، پراکسی معکوس، manipulation هدر، header rendering و template rendering میباشد.
caddy به طور خودکار درخواست های HTTP را به مقصد HTTPS هدایت میکند و از گواهی Let’s Encrypt برخوردار است.
اتوماسیون TLS:
نسخه رسمی کدی همراه با برنامه TLS ارائه میشود، تنظیمات TLS Caddy سایت شما را ایمن و بروز نگه میدارد.
مزایای PKI:
همراه با نسخه رسمی کدی برنامه PKI نیز ارائه میشود، وظیفه اصلی PKI پیکربندی مرجع صدور گواهی (CA) است، هنگامی که این ماژول را راه اندازی میکنید میتوانید شناسه CA و نام مشترک را تغییر دهید. این برنامه بیشتر توسط ماژول های دیگر در مواقعی که نیاز به گواهی امضا شده دارند استفاده می شود.
لایسنس Caddy Webserver
caddy در سه حالت لایسنس های خود را ارائه میدهد:
- Personal: این لایسنس برای کاربران به صورت رایگان ارائه میشود.
- Small-Scale Commercial: برای این لایسنس لازم است هزینهی کمی در ماه به ازای هر Instance پرداخت کرد و دارای پشتیبانی در حد معمول است.
- Large-Scale commercial: هزینهی این لایسنس با توجه به وب سرور و وب سایت بررسی شده و اعلام میشود، از پشتیبانی کامل برخوردار است و دارای امکانات سازمانی خاص است.
مزایا و امکانات وب سرور کدی
از مزایای Caddy Webserver میتوان به موارد زیر اشاره کرد:
- اختصاص گواهینامه امنیتی به وب سایتها
- پشتیبانی از HTTP/1.1 و پشتیبانی پیش فرض از HTTP/2
- Virtual hosting بر روی یک پورت
- پشتیبانی از TLS 1.2 و قبلتر از آن
- سرویس دهی فایلهای استاتیک
- پشتیبانی از FastCGI Proxy
- ریستارت و ریلود سریع وب سرور
- پشتیبانی از IPv4 و IPv6
- پشتیبانی از Gzip
- پشتیبانی از reverse Proxy
- ریدایرکت کامل با متدهای مختلف
- Load balancing و تست سلامت به صورت دائم
- جستجو فایل
- و …
آموزش نصب کدی
اگر میخواهید روی سرور مجازی از جمله VPS لینوکس، Caddy را نصب کنید میتوانید مراحل نصب را در ادامه مقاله مطالعه نمایید. ابتدا دانلود فایل باینری Caddy سیستم عامل خود را انجام دهید.
Debian, Ubuntu, Raspbian
این سرویس با یک caddy-api ارائه میشود که به طور پیشفرض در دسترس نیست و نیاز به کانفیگ دارد .
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-stable.asc curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy
نسخه آزمایشی
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/testing/gpg.key' | sudo tee /etc/apt/trusted.gpg.d/caddy-testing.asc curl -1sLf 'https://dl.cloudsmith.io/public/caddy/testing/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-testing.list sudo apt update sudo apt install caddy
Fedora, RedHat, CentOS
CentOS 8
dnf install 'dnf-command(copr)' dnf copr enable @caddy/caddy dnf install caddy
CentOS 7
yum install yum-plugin-copr yum copr enable @caddy/caddy yum install caddy
Arch Linux, Manjaro, Parabola
pacman -Syu caddy
Docker
docker pull caddy
macOS
curl -sS https://webinstall.dev/caddy | bash
Windows
curl.exe -A MS https://webinstall.dev/caddy | powershell
در این مقاله وب سرور Caddy را معرفی کردیم و نحوه نصب بر روی سیستم عامل های مختلف را بررسی کردیم.