Una Herramienta Sumor Cloud.
Más Documentación
Servidor Web SSL con Express, Soporte HTTP/2
npm i @sumor/ssl-server --save
Requiere Node.JS versión 18.x o superior
Dado que este paquete está escrito en un módulo ES, cambie el siguiente código en su archivo package.json
:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// escucha en el puerto 443 por defecto si no se especifica, y redirige 80 a https 443
await app.listen()
console.log('Servidor en funcionamiento en https://localhost:443/')
Agrega archivos SSL en la carpeta raíz ssl
con los siguientes nombres:
domain.crt
domain.key
ca.crt
(Opcional, se agregará a la cadena del certificado)Si no se encuentran, el servidor generará un certificado autofirmado.
Si cambian los archivos SSL, se recargará automáticamente.
Admite todas las características de express, la única diferencia es el método listen
y close
. Consulte el siguiente ejemplo para obtener más detalles.
import createApp from '@sumor/ssl-server'
const app = createApp()
import bodyParser from 'body-parser'
// puedes agregar cualquier middleware de express
app.use(bodyParser.json())
// agregar rutas
app.get('/', (req, res) => {
res.send('¡Hola Mundo!')
})
// listen es una función asíncrona
await app.listen()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen es una función asíncrona
await app.listen()
// close es una función asíncrona
await app.close()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen es una función asíncrona
await app.listen(8443, 8080)
console.log(`El servidor se está ejecutando en https://localhost:8443/`)
console.log(`El servidor de redirección se está ejecutando en http://localhost:8080/`)
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen es una función asíncrona
await app.listen(null, 8080)
console.log(`El servidor de redirección se está ejecutando en http://localhost:8080/`)
De forma predeterminada, el servidor ssl utilizará la última versión de soporte a largo plazo de express. Puedes usar tu propia aplicación express pasándola a la función createApp
.
import createApp from '@sumor/ssl-server'
import express from 'express'
const expressApp = express()
expressApp.get('/', (req, res) => {
res.send('¡Hola Mundo!')
})
const app = createApp(expressApp)
// listen es una función asíncrona
await app.listen()
console.log('Servidor en funcionamiento en https://localhost:443/')