ssl-server

Un outil Sumor Cloud.
Plus de documentation

Serveur Web SSL avec Express, Prise en charge de HTTP/2

CI Test Couverture Audit

Installation

npm i @sumor/ssl-server --save

Prérequis

Version de Node.JS

Nécessite Node.JS version 18.x ou supérieure

Requiert le module ES de Node.JS

Comme ce package est écrit en module ES, veuillez modifier le code suivant dans votre fichier package.json :

{
  "type": "module"
}

Utilisation

Héberger un serveur simple

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

// écoute sur le port 443 par défaut si non spécifié, et redirige le 80 vers le 443 en HTTPS
await app.listen()

console.log("Serveur en cours d'exécution sur https://localhost:443/")

Ajouter des fichiers SSL

Veuillez ajouter les fichiers SSL dans le dossier racine ssl avec les noms suivants :

S'ils ne sont pas trouvés, le serveur générera un certificat auto-signé.
En cas de modification des fichiers SSL, cela rechargera automatiquement.

Fonctionnalités

Il prend en charge toutes les fonctionnalités d'express, la seule différence étant les méthodes listen et close. Veuillez vous référer à l'exemple ci-dessous pour plus de détails.

Ajouter des middlewares et des routes

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

// vous pouvez ajouter n'importe quel middleware express
app.use(bodyParser.json())

// ajouter des routes
app.get('/', (req, res) => {
  res.send('Bonjour le monde !')
})

// listen est une fonction asynchrone
await app.listen()

Forcer la fermeture du serveur

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

// listen est une fonction asynchrone
await app.listen()
// close est une fonction asynchrone
await app.close()

Écouter sur un port personnalisé

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

// listen est une fonction asynchrone
await app.listen(8443, 8080)
console.log(`Serveur en cours d'exécution sur https://localhost:8443/`)
console.log(`Serveur de redirection en cours d'exécution sur http://localhost:8080/`)

Écouter uniquement en HTTP

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

// listen est une fonction asynchrone
await app.listen(null, 8080)
console.log(`Serveur de redirection en cours d'exécution sur http://localhost:8080/`)

Utiliser une application personnalisée

Par défaut, le serveur SSL utilisera la dernière version du support à long terme d'express. Vous pouvez utiliser votre propre application express en la passant à la fonction createApp.

import createApp from '@sumor/ssl-server'
import express from 'express'

const expressApp = express()
expressApp.get('/', (req, res) => {
  res.send('Bonjour le monde !')
})

const app = createApp(expressApp)

// listen est une fonction asynchrone
await app.listen()

console.log("Serveur en cours d'exécution sur https://localhost:443/")