ssl-server

Una Herramienta Sumor Cloud.
Más Documentación

Servidor Web SSL con Express, compatible con HTTP/2

CI Test Cobertura Auditoría

Instalación

npm i @sumor/ssl-server --save

Prerrequisitos

Versión de Node.JS

Requiere Node.JS versión 18.x o superior

Requiere módulo ES de Node.JS

Como este paquete está escrito en módulo ES, por favor cambie el siguiente código en su archivo package.json:

{
  "type": "module"
}

Uso

Hospedar un servidor simple

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/')

Agregar archivos SSL

Por favor agregue archivos SSL en la carpeta raíz ssl con los siguientes nombres:

Si no se encuentran, el servidor generará un certificado autofirmado.
Si cambian los archivos SSL, se recargará automáticamente.

Características

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.

Agregar middlewares y rutas

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()

Forzar cierre del servidor

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()

Escuchar en un puerto personalizado

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/`)

Usar una aplicación personalizada

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/')