• 0

إنشاء خادم HTTPS باستخدام Node.js

استخدم node.js في مشروع ولدي مفتاح SSL وكذلك شهادة كيف يكنني انشاء خادم HTTPS وماهي الفائدة من استخدامه. 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك إستخدام شهادات SSL في nodejs كالتالي:

const https = require('https');
const fs = require('fs');	// تستخدم للتعامل مع الملفات، وسنحتاجها لقراءة محتوى ملفات pem

// key.pem و cert.pem عبارة عن مشارات ملفات الشهادة والمفتاح
const options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};

// نقوم بتمرير الإعدادات السابقة في التابع createServer
// مع إرسال رسالة Hello, World! للتأكد من أن كل شيء يعمل بشكل سليم
https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("Hello, World!\n");
}).listen(8000);

الآن يمكنك التوجه إلى الرابط التالي للتأكد من أن شهادة SSL تعمل:

https://localhost:8000

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك إستخدام الكود السابق للمدرب سامح أشرف فهو الكود الصحيح الموجود في التوثيق الخاص بNode

لكن هناك بعض المعلومات الإضافية والمهمة وهي لأن لديك في الكائن fs وظيفتين وهما

  • fs.readFileSync للقراءة بشكل متزامن
  • fs.readFile للقراءة بشكل غير متزامن

ففي حالة إنشاء خادم https يجب عليك إستدعاء الوظيفة المتزامنة fs.readFileSync لكي يتم تشغيل الكود بشكل صحيح

فإذا قمت بإستخدام الوظيفة الغير المتزامنة fs.readFile وهي مهمة ولكن ليس في هذه الحالة فسيتم تشغيلها بشكل غير متزامن وينتقل التشغيل الى الكود الآخر المتزامن هذا

https.createServer(options, function (req, res) { // options undefined
  res.writeHead(200);
  res.end("Hello, World!\n");
}).listen(8000)

وسيظهر لك خطأ بأن options هي غير معرفة undefined لأنها ستكون معرفة فيما بعد بعد الإنتهاء من الكود المتزامن 

لذلك تذكر دائماً في هذه الحالة يجب عليك إستخدام الوظيفة المتزامنة fs.readFileSync لكي لاتحصل على مشاكل

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن