خادم ويب 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()
// listen on port 443 by default, and redirect 80 to https 443
await app.listen()
الرجاء إضافة ملفات SSL إلى مجلد الجذر 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'
// يمكنك إضافة أي وسيط express
app.use(bodyParser.json())
// إضافة مسارات
app.get('/', (req, res) => {
res.send('مرحبًا بالعالم!')
})
// الاستماع هو دالة غير مزامنة
await app.listen()
import createApp from '@sumor/ssl-server'
const app = createApp()
// الاستماع هو دالة غير مزامنة
await app.listen()
// الغلق هو دالة غير مزامنة
await app.close()
import createApp from '@sumor/ssl-server'
const app = createApp()
// الاستماع هو دالة غير مزامنة
await app.listen(8443, 8080)
console.log(`الخادم يعمل على https://localhost:8443/`)
console.log(`خادم إعادة التوجيه يعمل على http://localhost:8080/`)