ssl-server

A Sumor Cloud Tool.
More Documentation

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 будут изменены, они будут автоматически перезагружены.

Особенности

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

Прослушивание только HTTP

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

// функция listen асинхронная
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)

// функция listen асинхронная
await app.listen()

console.log('Сервер работает по адресу https://localhost:443/')