ssl-server

Ein Sumor Cloud Tool.
Weitere Dokumentation

SSL Web Server mit Express, unterstützt HTTP/2

CI Test Abdeckung Audit

Installation

npm i @sumor/ssl-server --save

Voraussetzungen

Node.JS Version

Erfordert Node.JS Version 18.x oder höher

Node.JS ES-Modul erforderlich

Da dieses Paket in ES-Modul geschrieben ist, ändern Sie bitte den folgenden Code in Ihrer package.json-Datei:

{
  "type": "module"
}

Verwendung

Einen einfachen Server hosten

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

// standardmäßig auf Port 443 hören, wenn nicht angegeben, und von 80 auf https 443 umleiten
await app.listen()

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

SSL-Dateien hinzufügen

Bitte fügen Sie SSL-Dateien im Stammverzeichnis ssl mit den folgenden Namen hinzu:

Wenn nicht gefunden, wird der Server ein selbstsigniertes Zertifikat generieren.
Bei Änderungen an den SSL-Dateien wird automatisch neu geladen.

Funktionen

Alle Funktionen von express werden unterstützt, 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 beliebige 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 erzwingen zu 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 zuhören

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 HTTP zuhören

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/`)

Benutzerdefinierte App verwenden

Standardmäßig verwendet der SSL-Server die neueste Express-Version für langfristige Unterstü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/')