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