Una herramienta de Sumor Cloud.
Más documentación
Servidor Web SSL con Express, compatible con HTTP/2
npm i @sumor/ssl-server --save
Requiere Node.JS versión 18.x o superior
Como 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()
// escuchar en el puerto 443 por defecto si no se especifica, y redirigir 80 a https 443
await app.listen()
console.log('Servidor ejecutándose en https://localhost:443/')
Por favor añade archivos SSL en la carpeta raíz ssl
con los siguientes nombres:
domain.crt
domain.key
ca.crt
(Opcional, se añadirá a la cadena de certificados)Si no se encuentran, el servidor generará un certificado autofirmado.
Si se modifican los archivos SSL, 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 añadir cualquier middleware de express
app.use(bodyParser.json())
// añadir rutas
app.get('/', (req, res) => {
res.send('¡Hola mundo!')
})
// listen es una función asincrónica
await app.listen()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen es una función asincrónica
await app.listen()
// close es una función asincrónica
await app.close()
import createApp from '@sumor/ssl-server'
const app = createApp()
// listen es una función asincrónica
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 asincrónica
await app.listen(null, 8080)
console.log(`El servidor de redirección se está ejecutando en http://localhost:8080/`)
Por defecto, el servidor ssl utilizará la última versión de soporte a largo plazo de express. Puedes utilizar 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 asincrónica
await app.listen()
console.log('Servidor ejecutándose en https://localhost:443/')