一个 Sumor Cloud 工具。
更多文档
带有 Express 的 SSL Web 服务器,支持 HTTP/2
npm i @sumor/ssl-server --save
需要 Node.JS 版本为 18.x 或更高
由于该包是以 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
的根文件夹中,文件名如下:
domain.crt
domain.key
ca.crt
(可选,将追加到证书链中)如果未找到,服务器将生成自签名证书。
如果 SSL 文件更改,它将自动重新加载。
它支持所有 express 功能,唯一的区别是 listen
和 close
方法。请参考下面的示例获取更多细节。
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('你好,世界!')
})
// 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/ 上运行`)
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('你好,世界!')
})
const app = createApp(expressApp)
// listen 是异步函数
await app.listen()
console.log('服务器运行在 https://localhost:443/')