خادم ويب 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 إلى 443 باستخدام HTTPS
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)
// إضافة المسارات
app.get('/', (req, res) => {
res.send('Hello World!')
})
// `listen` هي دالة ذات خاصية async
await app.listen()
import createApp from '@sumor/ssl-server'
const app = createApp()
// `listen` هي دالة ذات خاصية async
await app.listen()
// `close` هي دالة ذات خاصية async
await app.close()
import createApp from '@sumor/ssl-server'
const app = createApp({
port: 8443,
redirectPort: 8080
})
// `listen` هي دالة ذات خاصية async
await app.listen()