ssl-server

Una Herramienta Sumor Cloud.
Más Documentación

Servidor Web SSL con Express, Soporte HTTP/2

CI Test Cobertura Auditoría

Instalación

npm i @sumor/ssl-server --save

Requisitos previos

Versión de Node.JS

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

Requerir módulo ES de Node.JS

Dado que este paquete está escrito en un módulo ES, cambie el siguiente código en su archivo package.json:

{
  "type": "module"
}

Uso

Alojar un servidor simple

import createApp from '@sumor/ssl-server'
const app = createApp()

// escucha en el puerto 443 por defecto si no se especifica, y redirige 80 a https 443
await app.listen()

console.log('Servidor en funcionamiento en https://localhost:443/')

Agregar archivos SSL

Agrega 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

Admite todas las características de express, la única diferencia es el método listen y close. Consulte el siguiente ejemplo para obtener más detalles.

Agregar middlewares y rutas

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

Forzar el 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 se está ejecutando en https://localhost:8443/`)
console.log(`El servidor de redirección se está ejecutando en http://localhost:8080/`)

Escuchar solo http

import createApp from '@sumor/ssl-server'
const app = createApp()

// listen es una función asíncrona
await app.listen(null, 8080)
console.log(`El servidor de redirección se está ejecutando en http://localhost:8080/`)

Usar una aplicación personalizada

De forma predeterminada, el servidor ssl utilizará la última versión de soporte a largo plazo de express. Puedes usar 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 asíncrona
await app.listen()

console.log('Servidor en funcionamiento en https://localhost:443/')