التعامل مع تطوير HTTPS المحلي
استكشاف كيفية تنفيذ HTTPS محليًا في سير عمل التطوير الخاص بك باستخدام أدوات مثل Mkcert وأدلة خطوة بخطوة لـExpress.js و Next.js.
عند تطوير تطبيقات الويب، تتطلب بعض السيناريوهات استخدام 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 محلي.
- إعداد Logto: اتبع الرابط لإعداد Logto على جهازك المحلي: https://docs.logto.io/docs/get-started/.
- تحضير الشهادات: استخدم
mkcert
لتوليد ملفين.pem
وضعهما في دليل. - تعيين المتغيرات البيئية: قدم كلًا من
HTTPS_CERT_PATH
وHTTPS_KEY_PATH
لتمكين HTTPS عبر Node، تحقق من هذا الرابط لمعرفة المزيد.
الملخص
إعداد HTTPS للتطوير المحلي ليس معقدًا كما قد يبدو. بمساعدة الأدوات مثل Mkcert، يصبح توليد الشهادات المحلية الموثوقة عملية سريعة وسهلة. بينما يعالج localhost
غالبًا العديد من ميزات HTTPS فقط، هناك أوقات تحتاج فيها إلى دعم HTTPS الكامل، وهذه الإرشادات تساعدك في الوصول إلى ذلك. سواء كنت تختبر APIs، تعمل مع Logto OSS، أو ببساطة تكرر الظروف الإنتاجية، فإن اتباع هذه الخطوات سيضمن استعدادك لتطوير آمن وسلس.