استخدام بروتوكول ACME لطلب شهادة SSL في ServBay
يدعم ServBay استخدام بروتوكول ACME للحصول تلقائيًا على شهادات SSL/TLS لمواقعك المحلية. بروتوكول ACME (بيئة إدارة الشهادات المؤتمتة) هو معيار لإدارة دورة حياة الشهادات تلقائيًا (بما في ذلك الطلب، والتجديد، والإلغاء). من خلال لوحة إدارة ACME المتوفرة في ServBay، يمكنك بسهولة وسرعة إعداد شهادات SSL موثوقة لمواقعك المحلية، وهو أمر أساسي لمحاكاة بيئة الإنتاج واختبار ميزات HTTPS.
يفضل ServBay افتراضيًا استخدام ZeroSSL لإصدار الشهادات، لكن بإمكانك أيضًا اختيار Let's Encrypt أو مزودين آخرين يدعمون بروتوكول ACME مثل Google Trust Services.
TIP
لضمان أن بيئة التطوير المحلية تتوافق إلى أقصى درجة مع بيئة الإنتاج، من الضروري استخدام شهادة SSL موثوقة. تجعل ميزة ACME في ServBay هذه العملية سهلة جدًا.
شرح المفاهيم الأساسية
قبل البدء، معرفتك ببعض المفاهيم الأساسية ستساعدك على استخدام ميزة ACME في ServBay بشكل أفضل:
- بروتوكول ACME: بروتوكول مفتوح معتمد لتسهيل التفاعل التلقائي بين مزود الخدمة (CA) والخادم بهدف إدارة الشهادات (طلب، تجديد، إدارة).
- التحقق عبر DNS-01 (طريقة API DNS): يدعم بروتوكول ACME عدة طرق للتحقق من ملكية النطاق، وتستخدم ServBay طريقة DNS-01 بشكل أساسي، ما يعني أن CA ستطلب منك إضافة سجل TXT مخصص في إعدادات DNS للنطاق الخاص بك. من خلال التحقق من وجود وتطابق هذا السجل، يمكن تأكيد ملكيتك للنطاق. وتشمل مزايا هذه الطريقة:
- لا حاجة لجعل بيئة التطوير المحلي متاحة على الإنترنت.
- يمكن إتمام التحقق حتى في حال تم حجب المنافذ 80/443 للجهاز محليًا.
- ربط الحساب الخارجي (EAB - External Account Binding): لبعض مزودي الشهادات (مثل Google Trust Services أو ZeroSSL)، يلزم ربط عميل ACME (هنا: acme.sh المدمج مع ServBay) بحسابك المسجل لديهم عند تقديم أول طلب شهادة. يتم ذلك غالبًا عبر زوج معرف المفتاح (Key ID) ومفتاح HMAC.
- شهادات ECC مقابل شهادات RSA:
- RSA: خوارزمية تشفير تقليدية تقدم توافقًا واسعًا، ولكنها تتطلب مفتاحًا بطول أكبر (2048 أو 4096 بت) لتحقيق الأمان، وتستهلك المزيد من الموارد.
- ECC (تشفير المنحنى البيضاوي): خوارزمية أحدث توفر نفس مستوى الأمان بأحجام مفاتيح أصغر (مثل 256 أو 384 بت). شهادات ECC توفر أداء أعلى، فترة مصافحة أقصر، استهلاكاً أقل للنطاق الترددي، وأمانًا أفضل. يوصى باستخدام ECC بشكل افتراضي في ServBay.
المتطلبات الأساسية
يستخدم ServBay طريقة DNS API لطلب شهادة ACME، مما يعني أنه ليس من الضروري أن يكون موقعك المحلي متاحًا للإنترنت. قبل طلب شهادة SSL عبر بروتوكول ACME، يرجى التأكد من توفر الآتي:
- امتلاك نطاق: يجب أن تملك نطاقًا (Domain) مسجلاً ويمكنك التحكم في إعدادات DNS الخاصة به.
- الحصول على API Key من مزود DNS: أثناء طلب الشهادة، يلزم تعديل سجلات TXT للتحقق تلقائيًا من خلال DNS API. عليك الحصول على API Key أو بيانات اعتماد مماثلة من مزود خدمة DNS (المسؤول عن استضافة سجلات نطاقك، قد يختلف عن الشركة التي سجلت منها الدومين). لمعرفة مزودي DNS المدعومين وطريقة الحصول على API Key لكلٍ منهم، راجع صفحة How to use DNS API في وثائق acme.sh الرسمية (بالإنجليزية).
- الحصول على بيانات EAB (عند التقديم لأول مرة مع Google Trust Services أو ZeroSSL): إذا اخترت Google Trust Services كمصدر الشهادة، ستحتاج إلى الحصول على بيانات EAB من Google Cloud. راجع الوثائق الرسمية: Obtaining EAB credentials from Google Cloud. بالنسبة لـ ZeroSSL، قد تتطلب العملية لأول مرة أيضًا التحقق عبر البريد الإلكتروني أو API Key.
خطوات طلب شهادة SSL عبر ACME في ServBay
اتبع الخطوات التالية لطلب شهادة SSL لموقع الويب الخاص بك في بيئة التطوير باستخدام بروتوكول ACME في ServBay:
افتح لوحة التحكم في ServBay شغل تطبيق ServBay وادخل لوحة التحكم عبر أيقونة شريط القوائم أو أيقونة Dock.
التوجه إلى إدارة شهادات SSL انتقل من الشريط الجانبي في لوحة التحكم إلى قسم
شهادات SSL.بدء طلب شهادة جديدة في واجهة إدارة شهادات SSL، اضغط على رمز
+ثم اخترطلب شهادة جديدة.تكوين معلومات الشهادة الأساسية
- اسم الشهادة: قم بإدخال اسم مميز للشهادة لتسهيل التعرف عليها (مثال:
servbay-demo-ssl). - الغرض: اختر
TLS/SSL. - طريقة الطلب: اختر
ACME.
- اسم الشهادة: قم بإدخال اسم مميز للشهادة لتسهيل التعرف عليها (مثال:
تحديد جهة إصدار الشهادة (CA) استخدم القائمة المنسدلة لاختيار مزود الشهادة الذي ترغب به. الافتراضي هو
ZeroSSL. بإمكانك الاختيار حسب الحاجة بينLet's EncryptأوGoogle Trust Services. في هذا الشرح، نستخدم مثالًا على ZeroSSL.اختيار مزود API لـ DNS حدد مزود DNS الفعلي لنطاقك من قائمة
DNS API Provider(مثال:Cloudflare). لاحظ أن ما يهم هو المنصة المستضيفة لإدارة سجلات DNS لديك وليس بالضرورة جهة تسجيل الدومين (لو كانتا منفصلتين).اختيار خوارزمية الشهادة وطول المفتاح
- الخوارزمية: الافتراضي والمستحسن هو
ECCلميزاته في الأداء والأمان. لأغراض التوافق مع الأجهزة الأقدم، بإمكانك اختيارRSA. - طول المفتاح: في حالة ECC، الطول الافتراضي عادةً
384بت وهو آمن بدرجة كافية. في حالة RSA، الطول الشائع هو2048أو4096بت.
- الخوارزمية: الافتراضي والمستحسن هو
إعداد بيانات التحقق بالاعتماد على اختياراتك في
جهة الإصدارومزود DNS APIستظهر حقول لإدخال المعلومات اللازمة.- مع ZeroSSL، قد يُطلب عنوان بريدك الإلكتروني.
- مع Cloudflare، يجب إدخال API Key أو بيانات اعتماد مماثلة. اتبع متطلبات دليل acme.sh للمزود الذي تختاره.
WARNING
انتبه: الرجاء لصق قيمة الـ API Key أو المفتاح السري فقط ولا تدخل أوامر shell مثل
exportفي الحقل.تحديد النطاقات في حقل
النطاق، أدخل اسم النطاق الذي ترغب بالحصول على الشهادة له (مثال:servbay.demoأو*.servbay.demo). لطلبات النطاقات الفرعية (Wildcard)، تأكد أن مزود DNS يدعم إضافة سجلات TXT تلقائيًا لها.بدء الطلب بعد التأكد من صحة جميع البيانات، اضغط على زر
طلب. سيقوم ServBay باستدعاء أداة acme.sh المدمجة، وإتمام عملية التحقق مع CA وطلب الشهادة باستخدام معلومات DNS API التي زودتها.

قد تستغرق العملية بعض الوقت حسب سرعة انتشار سجلات DNS واستجابة جهة إصدار الشهادة. بإمكانك متابعة تقدم الطلب عبر سجل النظام أو قائمة الشهادات في ServBay. حال النجاح، ستظهر شهادتك الجديدة في قائمة شهادات SSL.
إيقاف طلب قيد التنفيذ
أثناء العملية، سيتحول زر طلب إلى إيقاف الطلب. إذا طال الوقت (مثلاً انتشار DNS بطيء أو حدث خطأ في البيانات)، تستطيع الضغط على إيقاف الطلب لإلغاء العملية وضبط المعلومات ثم إعادة المحاولة بدون انتظار انتهاء الوقت تلقائيًا.
خيارات متقدمة: فترة انتظار DNS وتخطي التحقق الذاتي لـ DNS
بشكل افتراضي، عند طلب الشهادة، ستتحقق أداة acme.sh من نشر سجل التحقق TXT على DNS محليًا قبل إبلاغ CA. في بعض البيئات (مثل تعرض DNS المحلي للاختراق أو استخدام وضع fake-ip أو عدم تطابق النتائج مع الإنترنت)، قد تفشل عملية التحقق الذاتي أو تعلق لفترة طويلة رغم نجاح النشر عالميًا.
لحل هذه المشكلات، يوفر ServBay خيارات في واجهة الطلب:
- مدة الانتظار بالثواني: يمكنك ضبط فترة الانتظار (افتراضيًا
120ثانية) قبل إعلام CA للتحقق من النطاق بعد نشر السجل، ما يمنح وقتًا كافيًا للانتشار العالمي لسجل DNS. - تخطي التحقق الذاتي لـ DNS: تفعيل هذا الخيار يجبر acme.sh على تجاهل اختبار السجل محليًا، وينتظر فقط المدة المحددة قبل بدء التحقق مع جهة إصدار الشهادة. يُستخدم عند عدم موثوقية التحقق المحلي بسبب المشاكل السالف ذكرها.
TIP
في البيئات العادية حيث يعمل DNS بسلاسة، لا داعي لتعديل هذه الخيارات. استخدمها فقط إذا واجهت مشكلة "سجل TXT تم نشره عالميًا لكن التحقق المحلي يفشل دائمًا"، بأن تفعل خيار "تخطي التحقق الذاتي" وتزيد فترة الانتظار.
استخدام الشهادة في إعدادات الموقع على ServBay
بعد إنشاء شهادة ACME بنجاح، يمكنك ربطها بموقعك على ServBay:
- اذهب إلى قسم
المواقععلى الجانب الأيسر. - اختر الموقع الذي تريد تفعيل SSL عليه، وانقر على زر التعديل (أيقونة القلم).
- في تفاصيل إعدادات الموقع، اعثر على خيار
شهادة SSL. - من القائمة المنسدلة، اختر شهادة ACME التي أنشأتها للتو.
- تأكد أن خيار
تفعيل SSLتم تشغيله. - احفظ الإعدادات. ينبغي أن يصبح موقعك متاحًا الآن عبر HTTPS.

تجديد شهادة ACME
شهادات ACME (مثل الصادرة عن Let's Encrypt أو ZeroSSL) عادةً ما تكون صالحة لمدة 90 يومًا. للحفاظ على موقع فعال عبر HTTPS، يجب تجديد الشهادة قبل انتهائها.
يقوم ServBay تلقائيًا بمراقبة شهادات ACME المصدرة من خلاله. حين يقترب موعد انتهاء الشهادة، يحاول ServBay استخدام بيانات DNS API الموجودة لتجديدها آليًا مع جهة الإصدار.
في معظم الحالات، طالما أن صلاحية بيانات API لـ DNS مستمرة وخدمة DNS نفسها تعمل، لن تحتاج لتجديد الشهادة يدويًا؛ سيقوم ServBay بالأمر تلقائيًا في الخلفية.
الأسئلة الشائعة (FAQ) وحلول المشكلات
- فشل الطلب برسالة خطأ تتعلق بالتحقق عبر DNS؟
- تحقق بدقة من صحة بيانات API لـ DNS ومن صلاحية صلاحياتها لتعديل سجلات TXT.
- تأكد أن مزود DNS الذي اخترته في ServBay في إعداد الشهادة هو نفسه المسؤول عن إدارة DNS فعلاً.
- أحيانًا يتأخر انتشار تغييرات DNS. يرجى الانتظار عدة دقائق وحاول مرة أخرى.
- تحقق من صحة تهجئة النطاق.
- إذا تأكدت أن سجل TXT تم نشره عالميًا لكن التحقق المحلي يفشل (غالبًا بسبب مشاكل في DNS المحلي أو وضع fake-ip)، جرب تفعيل خيار "تخطي التحقق الذاتي" وزد مدة الانتظار (انظر أعلاه في الخيارات المتقدمة).
- فشل الطلب برسالة تخص EAB؟
- عند استخدام Google Trust Services أو ZeroSSL لأول مرة، تأكد من حصولك وإدخالك لمعلومات EAB الصحيحة.
- إذا سبق ونجحت في الطلب ثم بدأ الفشل، ربما انتهت أو فقدت صلاحية بيانات EAB وتحتاج لإعادة إصدارها.
- فشل الطلب بسبب حد معدّل الطلب (Rate Limit)؟
- تفرض جهات الإصدار قيودًا على عدد الشهادات الممكن إصدارها لنطاق أو عنوان IP معين خلال فترة زمنية. تكرار الطلب بكثافة قد يؤدي إلى تفعيل هذه الحدود. انتظر عدة ساعات أو أيام ثم حاول من جديد.
- تم إصدار الشهادة بنجاح لكن الموقع يظهر غير آمن في المتصفح؟
- تأكد من تطبيق الشهادة الجديدة على الموقع في إعدادات ServBay وتم تمكين SSL.
- حاول مسح ذاكرة التخزين المؤقتة للمتصفح أو استخدم وضع التصفح الخفي.
- تحقق من الربط الصحيح للنطاق مع ServBay في ملف Hosts المحلي أو أي إعداد شبكة آخر.
- متى يحاول ServBay تجديد الشهادة تلقائيًا؟ عادةً قبل عدة أيام من انتهاء الصلاحية (مثلاً قبل 30 يومًا)، يبدأ ServBay تلقائيًا محاولة التجديد طالما التطبيق يعمل والاتصال بالإنترنت متاح.
الخلاصة
يوفر ServBay ميزة ACME القوية والسهلة الاستخدام، والتي تتيح للمطورين طلب وإدارة شهادات SSL/TLS الموثوقة لمواقعهم المحلية عبر واجهة DNS API بشكل سهل وآمن. هذا لا يوفر الوقت فحسب ويحاكي بيئة الإنتاج بفعالية، بل يتيح تطويرًا واختبارًا أكثر أمانًا.
نأمل أن يساعدك هذا الدليل على استخدام ACME بثقة في ServBay وتحسين تجربة تطويرك المحلي.
