ssl-server

Uma Ferramenta Sumor Cloud.
Documentação Adicional

Servidor Web SSL com Express, Suporte HTTP/2

CI Teste Cobertura Auditoria

Instalação

npm i @sumor/ssl-server --save

Pré-requisitos

Versão do Node.JS

Requer Node.JS na versão 18.x ou superior

Requerir o módulo ES do Node.JS

Como este pacote é escrito em módulo ES, por favor altere o seguinte código em seu arquivo package.json:

{
  "type": "module"
}

Uso

Hospedar um servidor simples

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

// escutar na porta 443 por padrão se não especificado, e redirecionar 80 para https 443
await app.listen()

console.log('Servidor rodando em https://localhost:443/')

Adicionar arquivos SSL

Por favor, adicione arquivos SSL na pasta raiz ssl com os seguintes nomes:

Se não forem encontrados, o servidor gerará um certificado autoassinado.
Se os arquivos SSL forem alterados, ele será recarregado automaticamente.

Recursos

ele suporta todos os recursos do express, a única diferença é o método listen e close. Por favor, consulte o exemplo abaixo para mais detalhes.

Adicionar middlewares e rotas

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

// você pode adicionar qualquer middleware express
app.use(bodyParser.json())

// adicionar rotas
app.get('/', (req, res) => {
  res.send('Olá Mundo!')
})

// listen é uma função assíncrona
await app.listen()

Forçar fechamento do servidor

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

// listen é uma função assíncrona
await app.listen()
// close é uma função assíncrona
await app.close()

Escutar em porta personalizada

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

// listen é uma função assíncrona
await app.listen(8443, 8080)
console.log(`Servidor está rodando em https://localhost:8443/`)
console.log(`Servidor de redirecionamento está rodando em http://localhost:8080/`)

Usar aplicativo personalizado

Por padrão, o servidor SSL usará a versão de suporte de longo prazo mais recente do express. Você pode usar seu próprio aplicativo express passando-o para a função createApp.

import createApp from '@sumor/ssl-server'
import express from 'express'

const expressApp = express()
expressApp.get('/', (req, res) => {
  res.send('Olá Mundo!')
})

const app = createApp(expressApp)

// listen é uma função assíncrona
await app.listen()

console.log('Servidor rodando em https://localhost:443/')