ssl-server

أداة Sumor Cloud.
المزيد من التوثيق

خادم ويب SSL باستخدام Express، يدعم HTTP/2

CI Test Coverage Audit

التثبيت

npm i @sumor/ssl-server --save

الشروط المسبقة

إصدار Node.JS

يتطلب إصدار Node.JS 18.x أو أعلى

يتطلب Node.JS وحدة ES

نظرًا لأن هذه الحزمة مكتوبة بوحدة 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 إلى مجلد الجذر ssl بالأسماء التالية:

إذا لم يتم العثور عليها، سيقوم الخادم بإنشاء شهادة ذاتية التوقيع.
في حال تغيير ملفات 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/`)

استخدام تطبيق مخصص

بشكل افتراضي، سيستخدم الخادم ssl أحدث إصدار من express بدعم طويل الأمد. يمكنك استخدام تطبيق express الخاص بك عن طريق تمريره إلى وظيفة createApp.

import createApp from '@sumor/ssl-server'
import express from 'express'

const expressApp = express()
expressApp.get('/', (req, res) => {
  res.send('مرحبًا بالعالم!')
})

const app = createApp(expressApp)

// `listen` هي وظيفة غير متزامنة
await app.listen()

console.log('يعمل الخادم على https://localhost:443/')