Caddy تحت مجوز General Public License (GPL) یک وب سرور چند پلتفرمی که قابلیت نصب بر روی سیستم عامل های ویندوز ، لینوکس ، اندروید و … را دارد و به صورت open-source ارائه می‌شود. وب سرور کدی برای کمک به فرآیندهای تکراری استفاده می‌شود، برای مثال هنگام نصب سرویس هایی که برای نصب زمان زیادی نیاز دارند و یا با یک پیکربندی و به طور یکنواخت از طریق REST API بروزرسانی می‌شوند.

نسخه‌های Caddy (WebServer) شامل مجموعه‌ای از ماژول هاست از جمله: HTTP ، TLS Automation و برنامه‌ی PKI اما بیشتر به دلیل پشتیبانی داخلی از HTTPS شناخته شده است. Caddy در محیط Go کدنویسی شده است و از کتابخانه‌های پیشفرض Go استفاده می‌کند.

کدی در ابتدا توسط Matthew Holt در سال 2014 توسعه یافت و در سال 2015 برای عموم منتشر شد و در مدت زمان کوتاهی بشدت مورد استقبال قرار گرفت و طرفداران زیادی پیدا کرد.

 

با وب سرور Caddy آشنا شوید

سرور 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 را معرفی کردیم و نحوه نصب بر روی سیستم عامل های مختلف را بررسی کردیم.