serveur SSL

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 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 80 vers 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, ils seront rechargés 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 consulter 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 fonctionne sur https://localhost:8443/`)
console.log(`Le serveur de redirection fonctionne sur http://localhost:8080/`)

Utiliser une application personnalisée

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