Serveur Web SSL avec Express, prenant en charge HTTP/2
npm i @sumor/ssl-server --save
Nécessite la version de Node.JS 16.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 et redirige le port 80 vers HTTPS 443
await app.listen()
Veuillez ajouter des 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 certificats)S'ils ne sont pas trouvés, le serveur générera un certificat auto-signé.
En cas de modification des fichiers SSL, il y aura un rechargement automatique.
Il prend en charge toutes les fonctionnalités d'express, la seule différence étant la méthode 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(`Le serveur tourne sur https://localhost:8443/`)
console.log(`Le serveur de redirection tourne sur http://localhost:8080/`)