خادم ويب SSL مع Express، دعم HTTP/2
npm i @sumor/ssl-server --save
يتطلب إصدار Node.JS 16.x أو أعلى
نظرًا لأن هذه الحزمة مكتوبة بتنسيق ES module ،
يرجى تغيير الكود التالي في ملف package.json
الخاص بك:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// الاستماع على منفذ 443 افتراضيًا، وإعادة توجيه المنفذ 80 إلى HTTPS 443
await app.listen()
يرجى إضافة ملفات SSL إلى مجلد الجذر بالأسماء التالية:
domain.crt
domain.key
ca.crt
(اختياري، سيتم إضافته إلى سلسلة الشهادات)إذا لم يتم العثور عليها، سيرسل الخادم شهادة ذاتية التوقيع.
إذا تم تغيير ملفات SSL، سيتم إعادة تحميلها تلقائيًا.
يدعم جميع ميزات express، الفرق الوحيد هو طريقة listen
و close
. يرجى الرجوع إلى المثال أدناه للحصول على تفاصيل أكثر.
import createApp from '@sumor/ssl-server'
const app = createApp()
import bodyParser from 'body-parser'
// يمكنك إضافة أي وسيط middleware من express
app.use(bodyParser.json())
// إضافة المسارات
app.get('/', (req, res) => {
res.send('مرحباً بالعالم!')
})
// listen هي دالة غير متزامنة
await app.listen()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen هي دالة غير متزامنة
await app.listen()
// close هي دالة غير متزامنة
await app.close()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen هي دالة غير متزامنة
await app.listen(8443, 8080)
console.log(`الخادم يعمل على https://localhost:8443/`)
console.log(`خادم إعادة التوجيه يعمل على http://localhost:8080/`)