ssl-server

Un outil Sumor Cloud.
Plus de documentation

Serveur Web SSL avec Express, prend en charge HTTP/2

CI Test Couverture Audit

Installation

npm i @sumor/ssl-server --save

Prérequis

Version Node.JS

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

Nécessite les modules 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()

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

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

Ajouter des fichiers SSL

Veuillez ajouter des 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é.
Si les fichiers SSL sont modifiés, il rechargera automatiquement.

Fonctionnalités

Il prend en charge toutes les fonctionnalités d'express, la seule différence est la méthode 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(`Le serveur tourne sur https://localhost:8443/`)
console.log(`Le serveur de redirection tourne 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(`Le serveur de redirection tourne sur http://localhost:8080/`)

Utiliser une application personnalisée

Par défaut, le serveur SSL utilisera la dernière version à 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/")