ssl-server

A Sumor Cloud Tool.
وثائق أكثر

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

CI Test Coverage Audit

التثبيت

npm i @sumor/ssl-server --save

المتطلبات

نسخة Node.JS

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

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

نظرًا لأن هذه الحزمة مكتوبة بوحدة 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، سيتم إعادة تحميلها تلقائيًا.

الميزات

يدعم كل ميزات إكسبرس، الاختلاف الوحيد هو طريقة 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/`)

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

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/')