ssl-server

一个Sumor Cloud工具。
更多文档

具有 Express,并支持 HTTP/2 的 SSL Web 服务器

CI Test Coverage Audit

安装

npm i @sumor/ssl-server --save

先决条件

Node.JS 版本

要求 Node.JS 版本为 18.x 或更高版本

需要 Node.JS ES 模块

由于此软件包是用 ES 模块编写的,请在您的 package.json 文件中更改以下代码:

{
  "type": "module"
}

用法

运行一个简单的服务器

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

// 默认情况下监听端口 443,如果没有指定,则将 80 重定向到 https 443
await app.listen()

console.log('服务器运行在 https://localhost:443/')

添加 SSL 文件

请将 SSL 文件添加到根文件夹 ssl 中,并按以下名称命名:

如果找不到这些文件,服务器将生成自签名证书。
如果 SSL 文件更改,它将自动重新加载。

特点

它支持所有 express 功能,唯一的区别是 listenclose 方法。请参考下面的示例了解更多细节。

添加中间件和路由

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

// 您可以添加任何 express 中间件
app.use(bodyParser.json())

// 添加路由
app.get('/', (req, res) => {
  res.send('Hello World!')
})

// listen 是异步函数
await app.listen()

强制关闭服务器

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

// listen 是异步函数
await app.listen()
// close 是异步函数
await app.close()

监听自定义端口

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

// listen 是异步函数
await app.listen(8443, 8080)
console.log(`服务器在 https://localhost:8443/ 上运行`)
console.log(`重定向服务器在 http://localhost:8080/ 上运行`)

仅监听 http

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

// listen 是异步函数
await app.listen(null, 8080)
console.log(`重定向服务器在 http://localhost:8080/ 上运行`)

使用自定义应用

默认情况下,ssl 服务器将使用最新的 express 长期支持版本。您可以通过将其传递给 createApp 函数来使用自己的 express 应用程序。

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

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

const app = createApp(expressApp)

// listen 是异步函数
await app.listen()

console.log('服务器运行在 https://localhost:443/')