خادم ويب 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/`)