Caddy: باکس سے سرٹیفکیٹ کے ساتھ سائٹ
ایک ویب سرور جو خود HTTPS سرٹیفکیٹ حاصل اور تجدید کرتا ہے۔ VPS پر تنصیب، کم سے کم Caddyfile، اور Nginx سے منتقلی۔
اپ ڈیٹ 23 اگست، 2026
Caddy وہی کام کرتا ہے جو Nginx کرتا ہے، لیکن Let's Encrypt سرٹیفکیٹس خود جاری اور تجدید کرتا ہے۔ سائٹ کی کنفیگریشن تین لائنوں میں سما جاتی ہے، اس لیے VDS پر پہلے پروجیکٹ کے لیے یہ کام کرنے والے HTTPS تک سب سے مختصر راستہ ہے۔
انسٹالیشن
Debian اور Ubuntu — آفیشل ریپوزٹری سے:
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
> /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy
AlmaLinux اور CentOS Stream:
dnf install -y 'dnf-command(copr)'
dnf copr enable -y @caddy/caddy
dnf install -y caddy && systemctl enable --now caddy
آپ کی پہلی سائٹ
پوری کنفیگ /etc/caddy/Caddyfile میں رہتی ہے:
example.ru {
root * /var/www/example.ru
file_server
encode gzip zstd
}
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy
پہلی درخواست کے چند سیکنڈ بعد سائٹ https://example.ru پر کھل جاتی ہے۔ آپ کو مزید کچھ شروع کرنے کی ضرورت نہیں: Caddy نے سرٹیفکیٹ خود حاصل کر لیا اور اسے خودکار طور پر تجدید کرتا رہے گا۔
ایپلیکیشن کی پروکسی
اگر آپ کی کوئی Node.js یا Python سروس لوکل پورٹ پر چل رہی ہے، تو کنفیگ اس طرح دکھتی ہے:
api.example.ru {
reverse_proxy 127.0.0.1:3000
}
Caddy X-Forwarded-For اور X-Forwarded-Proto ہیڈرز خود شامل کرتا ہے۔ اسکیم کے بارے میں مزید جاننے کے لیے reverse proxy دیکھیں۔
ایک سے زیادہ سائٹس اسی فائل میں ایک سے زیادہ بلاکس ہیں، ایک مشین پر ایک سے زیادہ سائٹس دیکھیں۔
پہلے سے کیا چیک کریں
- ڈومین کا A ریکارڈ پینل
/hosting/vds/m/<id>کے ”Overview“ میں دیے گئے مشین ایڈریس کی طرف اشارہ کرتا ہو؛ - پورٹ 80 اور 443 مشین کے فائر وال میں کھلے ہوں اور Nginx یا Apache نے انہیں نہ لیا ہو؛
- ڈومین واقعی ریزولو ہوتا ہو:
dig +short example.ru۔
اگر پہلا نکتہ پورا نہ ہو، تو سرٹیفکیٹ جاری کرنا ناکام ہو جائے گا: Let's Encrypt کو ڈومین نام کے ذریعے آپ کی مشین تک پہنچنا ضروری ہے۔
عام غلطیاں
| علامت | وجہ |
|---|---|
could not get certificate | ڈومین مشین کی طرف اشارہ نہیں کرتا، یا پورٹ 80 بند ہے |
address already in use | Nginx یا Apache چل رہا ہے — ان میں سے ایک کو روکیں |
| سائٹ صرف HTTP پر کھلتی ہے | Caddyfile میں نام سے پہلے :80 یا http:// لکھا ہے |
| بہت زیادہ جاری کرنے کی کوششیں | Let's Encrypt کی حدود — tls internal کے ساتھ ڈی بگ کریں |
لاگز: journalctl -u caddy -f۔
Caddy سرٹیفکیٹس
/var/lib/caddy/.local/share/caddyمیں محفوظ کرتا ہے۔ جب آپ ”Access“ ٹیب پر سسٹم دوبارہ انسٹال کریں، تو اس ڈائریکٹری کو کاپی کر لیں، ورنہ دوبارہ انسٹال کے بعد جاری کرنا شروع سے ہو گا۔