Un outil Sumor Cloud.
Plus de documentation
Serveur Web SSL avec Express, Prise en charge de HTTP/2
npm i @sumor/ssl-server --save
Nécessite Node.JS version 18.x ou supérieure
Comme ce package est écrit en module ES, veuillez modifier le code suivant dans votre fichier package.json
:
{
"type": "module"
}
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/")
Veuillez ajouter les fichiers SSL dans le dossier racine ssl
avec les noms suivants :
domain.crt
domain.key
ca.crt
(Facultatif, il sera ajouté à la chaîne de certificat)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.
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.
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()
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()
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/`)
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/`)
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/")