A Sumor Cloud Tool.
Дополнительная документация
SSL веб-сервер с Express, поддерживает HTTP/2
npm i @sumor/ssl-server --save
Требуется версия Node.JS 18.x и выше.
Поскольку этот пакет написан в виде модуля 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
с следующими именами:
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/`)
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/')