ssl-server

Ein Sumor Cloud Tool.
Mehr Informationen

SSL-Webserver mit Express, Unterstützung von 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

Erforderliches Node.JS ES-Modul

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 aufrufen auf Port 443, und Weiterleitung von 80 zu https 443
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 automatisch ein Neuladen.

Funktionen

Es unterstützt alle Express Funktionen, der einzige Unterschied liegt in der listen und close Methode. 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 erzwingen 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 einem benutzerdefinierten Port hö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(`Weiterleitungsserver läuft unter http://localhost:8080/`)

Eigenes App verwenden

Standardmäßig verwendet der SSL-Server die neueste langfristig unterstützte Version von Express. Sie können Ihre eigene Express-App verwenden, indem Sie sie an die 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/')