ssl-server

A Sumor Cloud Tool.
Дополнительная документация

SSL веб-сервер с Express, поддерживающий HTTP/2

CI Тест Покрытие Аудит

Установка

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 файлов произойдет автоматическая перезагрузка.

Особенности

Поддерживает все функции 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/')