Servidor Web SSL con Express, compatible con HTTP/2
npm i @sumor/ssl-server --save
Requiere Node.JS versión 16.x o superior
Ya que este paquete está escrito en módulo ES,
por favor cambia el siguiente código en tu archivo package.json
:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// escucha en el puerto 443 por defecto y redirige el 80 a https 443
await app.listen()
Por favor agrega los archivos SSL en la carpeta raíz ssl
con los siguientes nombres:
domain.crt
domain.key
ca.crt
(Opcional, se agregará a la cadena de certificados)Si no se encuentran, el servidor generará un certificado autofirmado.
Si los archivos SSL cambian, se recargarán automáticamente.
Soporta todas las características de express, la única diferencia son los métodos listen
y close
. Por favor consulta el siguiente ejemplo para 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 está en ejecución en https://localhost:8443/`)
console.log(`El servidor de redirección está en ejecución en http://localhost:8080/`)