Uma ferramenta Sumor Cloud.
Documentação Adicional
Servidor Web SSL com Express, Suporta HTTP/2
npm i @sumor/ssl-server --save
Requer Node.JS versão 18.x ou superior
Como este pacote é escrito em módulo ES,
por favor altere o seguinte código no seu arquivo package.json
:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// escuta na porta 443 por padrão se não especificado, e redireciona 80 para https 443
await app.listen()
console.log('Servidor em execução em https://localhost:443/')
Por favor, adicione os arquivos SSL na pasta raiz ssl
com os seguintes nomes:
domain.crt
domain.key
ca.crt
(Opcional, ele será anexado à cadeia de certificados)Se não encontrados, o servidor gerará um certificado autoassinado.
Se os arquivos SSL forem alterados, ele será recarregado automaticamente.
ele suporta todas as funcionalidades do express, a única diferença são os métodos listen
e close
. Por favor, consulte o exemplo abaixo para mais detalhes.
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()
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()
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/`)
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen é uma função assíncrona
await app.listen(null, 8080)
console.log(`Servidor de redirecionamento está rodando em http://localhost:8080/`)
Por padrão, o servidor ssl usará a versão mais recente do express com suporte a longo prazo. 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 em execução em https://localhost:443/')