SSL Веб-сервер с Express, поддержка HTTP/2
npm i @sumor/ssl-server --save
Требуется версия Node.JS 16.x или выше
Поскольку данный пакет написан с использованием ES-модуля, пожалуйста, внесите следующие изменения в ваш файл package.json
:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// прослушивание порта 443 по умолчанию и перенаправление 80 на https 443
await app.listen()
Пожалуйста, добавьте SSL-файлы в корневую папку ssl
с указанными именами:
domain.crt
domain.key
ca.crt
(Необязательно, будет добавлено в цепочку сертификатов)Если файлы не найдены, сервер создаст самоподписанный сертификат.
При изменении 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/`)