Una Herramienta 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 cambie el siguiente código en su 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 el 80 a https 443
await app.listen()
console.log('Servidor funcionando en https://localhost:443/')
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 cambian los archivos SSL, se recargará automáticamente.
soporta todas las características de express, la única diferencia es el método listen
y close
. Por favor revise 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 está funcionando en https://localhost:8443/`)
console.log(`El servidor de redirección está funcionando en http://localhost:8080/`)
Por defecto, el servidor SSL utilizará la última versión de soporte a largo plazo de express. Puede utilizar su 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 funcionando en https://localhost:443/')