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('مرحبًا بالعالم!')
})

// الاستماع هو دالة غير متزامنة
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/`)

الاستماع فقط على http

import createApp from '@sumor/ssl-server'
const app = createApp()

// الاستماع هو دالة غير متزامنة
await app.listen(null, 8080)
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)

// الاستماع هو دالة غير متزامنة
await app.listen()

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