SSL-Server

Ein Sumor Cloud Tool.
Weitere Dokumentation

SSL-Webserver mit Express, unterstützt HTTP/2

CI Test Coverage Audit

Installation

npm i @sumor/ssl-server --save

Voraussetzungen

Node.JS Version

Benötigt Node.JS Version 18.x oder höher

Erforderliches Node.JS ES Modul

Da dieses Paket in ES-Modul geschrieben ist, bitte fügen Sie den folgenden Code in Ihrer package.json-Datei hinzu:

{
  "type": "module"
}

Verwendung

Einen einfachen Server hosten

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

// lauscht standardmäßig auf Port 443, wenn nicht anders angegeben, und leitet 80 auf https 443 um
await app.listen()

console.log('Server läuft unter https://localhost:443/')

SSL-Dateien hinzufügen

Bitte fügen Sie SSL-Dateien in den Stammordner ssl mit den folgenden Namen hinzu:

Wenn nicht gefunden, generiert der Server ein selbstsigniertes Zertifikat.
Bei Änderungen an den SSL-Dateien erfolgt ein automatischer Neustart.

Funktionen

Es unterstützt alle Funktionen von express, der einzige Unterschied liegt in den Methoden listen und close. Bitte beachten Sie das folgende Beispiel für weitere Details.

Middleware und Routen hinzufügen

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

// Sie können jede Express-Middleware hinzufügen
app.use(bodyParser.json())

// Routen hinzufügen
app.get('/', (req, res) => {
  res.send('Hallo Welt!')
})

// listen ist eine asynchrone Funktion
await app.listen()

Server zwangsweise schließen

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

// listen ist eine asynchrone Funktion
await app.listen()
// close ist eine asynchrone Funktion
await app.close()

Auf benutzerdefiniertem Port lauschen

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

// listen ist eine asynchrone Funktion
await app.listen(8443, 8080)
console.log(`Server läuft unter https://localhost:8443/`)
console.log(`Umleitungs-Server läuft unter http://localhost:8080/`)

Nur auf http lauschen

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

// listen ist eine asynchrone Funktion
await app.listen(null, 8080)
console.log(`Umleitungs-Server läuft unter http://localhost:8080/`)

Eigene App verwenden

Standardmäßig verwendet der SSL-Server die neueste Express-Version mit Langzeitunterstützung. Sie können Ihre eigene Express-App verwenden, indem Sie sie der createApp-Funktion übergeben.

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

const expressApp = express()
expressApp.get('/', (req, res) => {
  res.send('Hallo Welt!')
})

const app = createApp(expressApp)

// listen ist eine asynchrone Funktion
await app.listen()

console.log('Server läuft unter https://localhost:443/')