لماذا تختار Caddy كواجهة على خادم VPS الخاص بك؟
التعقيد التاريخي للوكيل العكسي يكمن في TLS: توليد شهادة، وتهيئة التجديد، وإدارة إعادة التوجيه من HTTP إلى HTTPS. يزيل Caddy كل ذلك. بمجرد أن تحدّد اسم نطاق في ملف Caddyfile، يتصل بـ Let's Encrypt (أو ZeroSSL كحل بديل)، ويهيّئ الشهادة، ويثبّتها (OCSP stapling)، ويجدّدها في الخلفية. التهيئة مقروءة وقصيرة، وقابلة لإعادة التحميل أثناء التشغيل دون انقطاع الخدمة.
نقاط قوة Caddy في الإنتاج
- HTTPS تلقائي من طرف إلى طرف: الإصدار والتجديد وإعادة التوجيه دون تدخّل
- ملف Caddyfile بسيط: كتلة من بضعة أسطر لكل موقع، أقصر بكثير من تهيئة Nginx
- وكيل عكسي مدمج مع فحوصات السلامة وموازنة الأحمال نحو حاوياتك أو منافذك المحلية
- HTTP/2 وHTTP/3 (QUIC) مفعَّلان افتراضيًا
- إعادة تحميل التهيئة أثناء التشغيل (
caddy reload) دون قطع الاتصالات - واجهة برمجة تطبيقات إدارية بصيغة JSON لقيادة التهيئة ديناميكيًا
المتطلبات
Caddy مقتصد: معالج vCPU واحد و512 ميغابايت إلى 1 غيغابايت من RAM تكفي لتقديم عدة مواقع كوكيل عكسي. لديك الخيار بين تثبيته كملف تنفيذي للنظام (خدمة systemd) على Ubuntu/Debian، أو تشغيله في حاوية Docker. في كلتا الحالتين، تحتاج إلى نطاق يشير إلى عنوان IP الخاص بخادم VPS والمنافذ 80 و443 (و443/UDP لـ HTTP/3) مفتوحة في جدار الحماية.
انشر Caddy كوكيل عكسي
ثبّت Caddy
على Ubuntu/Debian، أضِف المستودع الرسمي ثم
apt install caddy. يسجّل Caddy نفسه كخدمة systemd نشطة عند بدء التشغيل. تحقق:systemctl status caddy. في وضع الحاوية، انطلق من الصورةcaddy:latestواربط حجمًا (volume) على/dataللحفاظ على الشهادات.وجّه DNS وافتح المنافذ
أنشئ سجل A
app.yourdomain.comنحو عنوان IP الخاص بخادم VPS. افتح المنافذ اللازمة:ufw allow 80وufw allow 443وufw allow 443/udpلـ HTTP/3. المنفذ 80 لا غنى عنه لتحدي HTTP الخاص بـ Let's Encrypt.اكتب ملف Caddyfile
حرّر
/etc/caddy/Caddyfile. لعرض تطبيق يعمل محليًا على المنفذ 3000:app.yourdomain.com { reverse_proxy localhost:3000 }. هذا كل شيء: يستنتج Caddy أن HTTPS مطلوب لأنك حددت نطاقًا، ويُطلق إصدار الشهادة.أعِد التحميل وتحقق
طبّق التهيئة دون توقف:
caddy reload --config /etc/caddy/Caddyfile. تابع الحصول على الشهادة في السجلّات:journalctl -u caddy -f. عند أول اتصال HTTPS بنطاقك، تكون الشهادة جاهزة.أضِف ترويسات الأمان والضغط
أثرِ الكتلة بموجِّه
headerلـ HSTS وترويسات مكافحة الاختطاف بالنقر (anti-clickjacking)، وفعّلencode gzip zstdللضغط. بما أن التهيئة تصريحية، تبقى هذه الإضافات مقروءة ويطبّقها أمرcaddy reloadبسيط.أول تسجيل دخول
Caddy خادم ويب، وليست له واجهة تسجيل دخول: فبعد التثبيت يعرض صفحة الترحيب على المنفذ 80، وتضبطه عبر SSH بتحرير الملف /etc/caddy/Caddyfile ثم تنفيذ الأمر systemctl reload caddy. ولن تُفعَّل شهادة TLS التلقائية إلا بعد الإعلان عن اسم نطاق حقيقي في هذا الملف.
لاستضافة عدة تطبيقات على خادم VPS نفسه، اكتفِ بإدراج عدة كتل مواقع في ملف Caddyfile نفسه، لكلٍ منها reverse_proxy خاصة به. وللتطوير المحلي دون نطاق عام، استبدل اسم النطاق بـ :80 أو استخدم الموجِّه tls internal: عندئذٍ يولّد Caddy سلطة تصديق (CA) محلية ويوقّع الشهادة بنفسه، وهو أمر عملي لبيئة ما قبل الإنتاج الداخلية.
الوثائق الرسمية
للتهيئة المتقدمة والخيارات الخاصة بالأداة، ارجع إلى وثائق Caddy الرسمية. يغطي هذا الدليل النشر على خادم VPS؛ وتبقى وثائق الناشر المرجع للإعدادات الدقيقة والتحديثات الكبرى وحالات الاستخدام المحددة.