ssl-server

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

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

CI Тест Покрытие Проверка

Установка

npm i @sumor/ssl-server --save

Предварительные требования

Версия Node.JS

Требуется версия Node.JS 16.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()

Добавление 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('Hello World!')
})

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