استخدام Let's Encrypt في ServBay للحصول تلقائي وإدارة شهادات SSL
في تطوير الويب الحديث، من الضروري محاكاة بيئة الإنتاج على جهازك المحلي، ويشمل ذلك تفعيل HTTPS. يوفر ServBay دعمًا مدمجًا لبروتوكول ACME (Automated Certificate Management Environment)، بما يتيح لك بسهولة التقديم، التثبيت، وإدارة شهادات SSL/TLS مجانية من مزودي شهادات كـ Let's Encrypt. في هذا الدليل، سنوضح لك خطوة بخطوة كيفية إصدار شهادات Let's Encrypt عبر ServBay وتطبيقها على مواقعك المحلية أثناء التطوير.
الاستفادة من شهادات Let's Encrypt تشمل: المجانية، الأتمتة، الثقة الواسعة، دعم اختبار وظائف HTTPS، Service Workers، HSTS وغيرها محليًا.
الشروط المسبقة
قبل تقديم طلب لشهادة Let's Encrypt، تأكد من توفر ما يلي:
- امتلاك نطاق عام: يجب أن تمتلك نطاقًا مسجلاً وقابلًا للاستخدام (مثلاً:
servbay.demo
أوyourdomain.com
). حيث لا تستطيع Let's Encrypt إصدار شهادات لنطاقات خاصة أو عناوين IP محلية مثل.local
. - قدرتك على إدارة سجلات DNS للنطاق: يعتمد ServBay على التحقق من ملكية النطاق عبر واجهة برمجة تطبيقات DNS. لذا يجب أن تملك صلاحية الوصول إلى لوحة تحكم مزود النطاق أو خدمة DNS (مثل Cloudflare، GoDaddy، AWS Route 53)، والقدرة على إنشاء مفاتيح API لأتمتة العمليات.
- الحصول على مفتاح DNS API: ستحتاج لتوليد مفتاح/رمز API مناسب حسب متطلبات مزود DNS الخاص بك. تختلف الإجراءات من مزود لآخر. غالبًا يجب إنشاء مفتاح يتيح إدارة سجلات DNS. اطلع على صفحة DNS API WIKI لمشروع acme.sh لمعرفة تفاصيل مزودك وأسماء متغيرات البيئة المطلوبة.
خطوات التقديم
للحصول على شهادة SSL من Let's Encrypt عبر ServBay، اتبع الخطوات التالية:
افتح لوحة إدارة ServBay: بعد تشغيل التطبيق، اضغط على أيقونة القائمة في الشريط، واختر "لوحة الإدارة" (Manager Panel) للدخول إلى الواجهة.
انتقل إلى إدارة الشهادات SSL: من القائمة الجانبية، اختر
شهادات SSL
(SSL Certificates).ابدأ طلب شهادة جديدة: من أعلى يمين صفحة الشهادات، اضغط زر “+” الدائري لفتح نافذة إعدادات الشهادة الجديدة.
املأ بيانات الشهادة: في نافذة “طلب شهادة” (Request Certificate) أدخل كالتالي:
- الاسم العام (Common Name): اسم يميز الشهادة ليسهل عليك التعرف عليها، مثل
servbay-demo-cert
أوmydomain-wildcard-cert
. - الغرض (Usage Purpose): اختر
TLS/SSL
. - طريقة الطلب (Request Method): اختر
ACME
. - المصدر (Issuer): اختر
Let's Encrypt
. - مزود DNS API: اختر مزود نطاقك أو DNS من القائمة (مثلاً:
cloudflare
لـ Cloudflare أوgodaddy
لـ GoDaddy). - الخوارزمية (Algorithm): يُنصح باختيار
ECC
(تشفير المنحنى الإهليلجي) مع طول مفتاح 384. ECC يوفر أداء أفضل وأمان أقوى مقارنة بـ RSA التقليدية مع حجم مفتاح أصغر. - البريد الإلكتروني (E-Mail Address): أدخل بريدك الإلكتروني الفعّال. ستصلك إخطارات حول انتهاء أو فشل تجديد الشهادة من Let's Encrypt على هذا العنوان.
- رموز DNS API: أدخل مفاتيح API حسب متطلبات المزود. غالبًا تُكتب كمتغيرات بيئة دون كلمة
export
. مثال Cloudflare:CF_Key=sdfsdfsdffgfdg\[email protected]
(استخدم\n
للفصل بين المتغيرات المختلفة). - النطاق (Domain): أدخل النطاق/النطاقات المطلوب إصدار الشهادة لها. لدعم شهادات متعددة أو Wildcard استخدم الفاصلة ، للفصل (مثال:
servbay.demo, www.servbay.demo, *.servbay.demo
). لاحظ أن إصدار شهادات Wildcard يتطلب تحقق DNS API.
يرجى ملاحظة أن الاسم العام بالصورة "Test"، لكن يُفضل استخدام اسم أكثر توضيحًا عمليًا.
- الاسم العام (Common Name): اسم يميز الشهادة ليسهل عليك التعرف عليها، مثل
تقديم الطلب: بعد التأكد من صحة البيانات، اضغط “طلب” (Request) في أسفل النافذة.
انتظر حتى اكتمال العملية: سيبدأ ServBay تشغيل عميل ACME في الخلفية، متحققًا من ملكية النطاق عبر DNS ثم يقدّم الطلب لـ Let's Encrypt. قد يستغرق الأمر بضع دقائق بحسب سرعة نشر سجلات DNS واستجابة Let's Encrypt. ستظهر الشهادة الجديدة تلقائيًا بقائمة الشهادات عند الاكتمال.
استخدام الشهادة
عند نجاح طلب الشهادة وظهورها بالقائمة، يمكنك الآن تطبيقها على موقعك المحلي:
- انتقل إلى إعدادات المواقع: من الشريط الجانبي بلوحة الإدارة، اختر
المواقع
(Websites). - عدّل إعدادات الموقع: اعثر على الموقع المطلوب واضغط أيقونة التعديل (غالبًا رمز قلم).
- فعّل HTTPS/SSL: في صفحة إعدادات الموقع، ابحث عن خيارات SSL/HTTPS وحدد مصدر الشهادة.
- اختر شهادة ACME: من خيارات المصدر اختر
ACME
، ثم استخدم القائمة المنسدلة لاختيار الشهادة المناسبة بحسب الاسم العام الذي قمت بتعيينه. - احفظ الإعدادات: بعد الحفظ سيقوم ServBay بإعادة تحميل التهيئة وتفعيل الشهادة الجديدة. الآن يمكنك زيارة موقعك المحلي عبر HTTPS.
تُظهر الصورة واجهة اختيار شهادة ACME ضمن إعدادات المواقع.
تجديد الشهادة
مدة صلاحية شهادات Let's Encrypt 90 يومًا. ServBay يدعم آلية تجديد تلقائي مُدمجة؛ فعندما تقترب شهادة ACME من الانتهاء (عادة قبل 30 يومًا من الانتهاء)، سيحاول النظام تجديدها تلقائيًا بنفس بيانات الإعداد دون تدخل منك، بشرط أن تظل مفاتيح DNS API فعالة. عند حدوث مشكلة أثناء التجديد، ستصلك إشعارات على بريدك الإلكتروني.
حول بروتوكول ACME والتحقق عبر DNS API
- بروتوكول ACME: معيار مفتوح لأتمتة عملية إثبات ملكية النطاق وإصدار الشهادات تدعمه Let's Encrypt وموفري الشهادات الرئيسيين، حيث يتواصل مع عميل ACME المتكامل مثل الذي في ServBay لتسهيل طلب وإدارة الشهادات تلقائيًا.
- التحقق عبر DNS API: إحدى طرق إثبات ملكية النطاق في بروتوكول ACME، حيث يُضاف سجل TXT خاص إلى DNS عبر واجهة API، وتتحقق سلطة الشهادة من وجود السجل وربطه بنطاقك. هذا الأسلوب مثالي للحالات التالية:
- للحصول على شهادات Wildcard وضمان دعم جميع النطاقات الفرعية.
- عند تعذر وصول ServBay المثبت محليًا للإنترنت مباشرة (داخل شبكة محلية أو عند حجب منافذ 80/443 من مزود الإنترنت).
اختيار خوارزمية الشهادة: ECC أم RSA
يعطيك ServBay الخيار بين خوارزميات ECC وRSA لإصدار الشهادة:
- RSA: خوارزمية التشفير العامة التقليدية؛ توفر أقصى درجات التوافق مع جميع المتصفحات والعملاء، وبأطوال مفاتيح 2048 أو 4096.
- ECC: خوارزمية تعتمد المنحنيات الإهليلجية؛ تقدم أمانًا عاليًا مع مفاتيح أقصر (ECC 256 تساوي أمانًا RSA 3072). هذا يسرّع اتصال TLS ويوفر موارد الأجهزة. ECC مدعومة حاليًا في كافة الأنظمة والمتصفحات الحديثة.
توصية: لإنشاء شهادات جديدة يوصى باستخدام خوارزمية ECC مع طول مفتاح 384 لتعزيز الأداء والأمان. للمتطلبات القصوى للتوافق أو دعم عملاء قدامى جدًا، فضلًا استخدم RSA.
ملاحظات هامة
- مدة نشر سجلات DNS: بعد طلب الشهادة، قد يستغرق نشر سجل TXT عدة دقائق حتى ساعات عالميًا. إذا فشل الطلب مباشرة، انتظر قليلًا ثم أعد المحاولة.
- سلامة مفاتيح API: يمتلك مفتاح DNS API صلاحيات حساسة لإدارة نطاقك، فاحرص على حفظه وعدم تسريبه.
- حدود طلبات Let's Encrypt: لدى Let's Encrypt حدود لتكرار طلب الشهادات لنطاقات متكررة. غالبًا لن تواجه هذا القيد بالاستخدام الطبيعي أو التجديد التلقائي في ServBay.
الأسئلة الشائعة (FAQ)
- س: إذا كان نطاقي يُشير إلى عنوان IP محلي، هل يمكنني إصدار شهادة Let's Encrypt؟
- ج: نعم، طالما تستخدم تحقق DNS API، حيث أن Let's Encrypt يهتم بإثبات سيطرتك على سجلات النطاق وليس طبيعة عنوان IP.
- س: فشل إصدار الشهادة، ماذا أفعل؟
- ج: تحقق من صحة وصلاحية مفتاح DNS API وصحة اختيار مزود DNS API. أحيانًا يكون السبب تأخير نشر سجل DNS. انتظر دقائق ثم حاول مجددًا. راجع سجل النظام لمزيد من التفاصيل.
- س: متى يقوم ServBay بالتجديد التلقائي للشهادة؟
- ج: عادة قبل 30 يومًا من انتهاء صلاحية الشهادة.
- س: هل يمكنني إصدار شهادة لنطاق
.local
على بيئة التطوير المحلية؟- ج: لا، حيث لا تُصدر Let's Encrypt شهادات إلا لنطاقات عامة مسجلة. يمكنك استخدام وظائف ServBay User CA أو ServBay Public CA لإصدار أو توقيع شهادات محلية/اختبارية.
- س: ماذا أفعل إذا لم يكن مزود DNS الخاص بي مدعومًا في قائمة ServBay؟
- ج: عميل ACME المدمج يدعم معظم مزودي DNS الرئيسيين. إذا كان مزودك غير شائع فقد يتطلب إعداد يدوي، راجع ويكي acme.sh DNS API لمعرفة الدعم والتكوين. إذا لم يظهر اسم مزودك اطلب الدعم من ServBay.
الخلاصة
من خلال تكامل بروتوكول ACME، جعل ServBay خطوة الحصول وإدارة شهادات SSL من Let's Encrypt في بيئة التطوير المحلية أكثر سهولة وسلاسة. باستخدام تحقق DNS API يمكنك إصدار شهادات مجانية قابلة للتجديد التلقائي للنطاقات العامة وWildcard، ما يساعد على محاكاة بيئة الإنتاج المحلية بدقة ورفع كفاءة تطويرك واختباراتك. باتباع هذا الدليل، ستتمكن من تفعيل حماية HTTPS لمواقعك عبر ServBay في دقائق وبكل بساطة.