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('Server running at https://localhost:443/')
以下の名前でルートフォルダ ssl
にSSLファイルを追加してください:
domain.crt
domain.key
ca.crt
(Optional、証明書チェーンに追加されます)見つからない場合、サーバーは自己署名証明書を生成します。
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('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(`Server is running on https://localhost:8443/`)
console.log(`Redirect server is running on 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('Server running at https://localhost:443/')