Servidor web SSL con Express, compatible con HTTP/2
npm i @sumor/ssl-server --save
Requiere Node.JS versión 16.x o superior
Como este paquete está escrito en módulo ES, por favor 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 de forma predeterminada, y redirige el 80 a https 443
await app.listen()
Por favor agregue 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 es el método listen
y close
. Por favor consulte el siguiente ejemplo para más detalles.
import createApp from '@sumor/ssl-server'
const app = createApp()
import bodyParser from 'body-parser'
// Puede 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/`)