خادم ويب SSL مع Express، يدعم HTTP/2
npm i @sumor/ssl-server --save
يتطلب إصدار Node.JS 16.x أو أعلى
نظرًا لكتابة هذه الحزمة باستخدام نموذج ES،
يرجى تغيير الكود التالي في ملف package.json
:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// استمع على المنفذ 443 بشكل افتراضي وأعد توجيه 80 إلى 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('مرحبًا بالعالم!')
})
// `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/`)