العربية
  • https
  • tls
  • nginx
  • express
  • proxy

التعامل مع تطوير HTTPS المحلي

استكشاف كيفية تنفيذ HTTPS محليًا في سير عمل التطوير الخاص بك باستخدام أدوات مثل Mkcert وأدلة خطوة بخطوة لـExpress.js و Next.js.

Sijie
Sijie
Developer

عند تطوير تطبيقات الويب، تتطلب بعض السيناريوهات استخدام HTTPS، حتى في بيئة محلية. سواء كنت تدمج مع APIs التعليمية لجهات خارجية، أو تجربة ميزات HTTPS فقط مثل العاملين في الخدمة وHTTP/2، أو تعمل على تكرار الظروف الإنتاجية للتأكد من النشر السلس، تصبح HTTPS أمراً ضرورياً. بالإضافة إلى ذلك، تتطلب واجهات برمجة التطبيقات الخاصة بالمتصفح — مثل تحديد الموقع الجغرافي، إشعارات الدفع، وإدارة بيانات الاعتماد— سياق آمن للعمل بفعالية.

على سبيل المثال، يتطلب Logto OSS HTTPS بشكل افتراضي إلا localhost. في مثل هذه الحالات، فإن تعلم إعداد HTTPS للتطوير المحلي يمكن أن يوفر لك الوقت. ستوجهك هذه المقالة لإعداد HTTPS للتطوير المحلي، حيث تقدم أدوات مثل Mkcert لتبسيط العملية.

دور localhost وميزات HTTPS فقط

localhost هو مجال خاص يمكنه التعامل مع العديد من الوظائف القائمة فقط على HTTPS مثل العاملين في الخدمة، والكوكيز الآمنة، وHTTP/2 وغيرها من واجهات برمجة التطبيقات في المتصفح يمكن أن تعمل بشكل جيد في http://localhost:xxxx ، لذا قد لا تحتاج دائمًا إلى HTTPS محلي، جرب localhost أولاً!

جرب أنفاق Cloudflare

كما تم تقديمه سابقًا في هذه المقالة، يمكن لأنفاق Cloudflare بسهولة كشف خدمتك المحلية للإنترنت مع HTTPS جاهزة.

إعداد HTTPS محلي

لا يمكن لخيارين حل مشكلتك؟ إذاً دعنا نعد HTTPS المحلي. في الخطوات التالية، نفترض أن اسم المجال المحلي هو example.com.

الخطوة 1: تحديث ملف المضيفين

قبل أن نبدأ، تأكد من أن المجال المستهدف يحل إلى جهازك المحلي، يمكن القيام بذلك عن طريق تحديث ملف المضيفين. افتح /etc/hosts على Linux/macOS أو C:\Windows\System32\drivers\etc\hosts على Windows، وأضف الأسطر التالية:

الخطوة 2: توليد الشهادات

أول شيء يتعلق بـ HTTPS هو الشهادة. في الإنتاج، يمكن القيام بذلك باستخدام أدوات مثل "Let's encrypt" أو شراء الشهادات من مزودي الخدمة. لكن في التطوير المحلي، يمكننا توليد الشهادات مباشرة.

يعد Mkcert أداة بسيطة بدون تكوين لإنشاء شهادات تطوير موثوقة محليًا مع أي أسماء ترغبها.

أولاً، اتبع الدليل الرسمي لتثبيت mkcert، بافتراض أنك تستخدم macOS:

بالنسبة لـWindows وLinux، تحقق من هذا الرابط.

الآن مع mkcert جاهز للاستخدام، شغل هذا الأمر لتوليد شهادة CA محلية وتخزينها في متجر ثقة النظام الخاص بك. للتعرف على المزيد حول "CA" والشهادات، تحقق من التوثيق بواسطة Cloudflare.

ثم، توليد شهادة SSL محلية

هذا يخلق ملفات example.com.pem و example.com-key.pem في دليلك.

الخطوة 3: إعداد HTTPS في التطبيق الخاص بك

مع ملفات الشهادة الجاهزة، يمكنك الآن تفعيل HTTPS في التطبيق الخاص بك. على عكس بيئة الإنتاج حيث يتعامل وكيل عكسي مثل Nginx مع HTTPS، في التطوير المحلي، يمكننا إعداد مباشرة في تطبيقات الويب. دعونا نأخذ Express كمثال.

أنشئ خادم Express بسيطًا مع الكود التالي:

قم بتشغيل التطبيق، وزر https://example.com لترى تطبيق Express الآمن الخاص بك أثناء العمل.

تمكين HTTPS لـ Logto OSS

Logto OSS يتطلب HTTPS بشكل افتراضي، باستثناء localhost. إذا كنت تريد تشغيل Logto محليًا مع مجال آخر، فستحتاج إلى إعداد HTTPS محلي.

  1. إعداد Logto: اتبع الرابط لإعداد Logto على جهازك المحلي: https://docs.logto.io/docs/get-started/.
  2. تحضير الشهادات: استخدم mkcert لتوليد ملفين .pem وضعهما في دليل.
  3. تعيين المتغيرات البيئية: قدم كلًا من HTTPS_CERT_PATH و HTTPS_KEY_PATH لتمكين HTTPS عبر Node، تحقق من هذا الرابط لمعرفة المزيد.

الملخص

إعداد HTTPS للتطوير المحلي ليس معقدًا كما قد يبدو. بمساعدة الأدوات مثل Mkcert، يصبح توليد الشهادات المحلية الموثوقة عملية سريعة وسهلة. بينما يعالج localhostغالبًا العديد من ميزات HTTPS فقط، هناك أوقات تحتاج فيها إلى دعم HTTPS الكامل، وهذه الإرشادات تساعدك في الوصول إلى ذلك. سواء كنت تختبر APIs، تعمل مع Logto OSS، أو ببساطة تكرر الظروف الإنتاجية، فإن اتباع هذه الخطوات سيضمن استعدادك لتطوير آمن وسلس.