Expressを使用したSSL Webサーバー、HTTP/2をサポート
npm i @sumor/ssl-server --save
Node.JSのバージョン16.x以上が必要
このパッケージはESモジュールで書かれているため、以下のコードをpackage.json
ファイルに変更してください:
{
"type": "module"
}
import createApp from '@sumor/ssl-server'
const app = createApp()
// デフォルトではポート443でリッスンし、80をhttps 443にリダイレクトします
await app.listen()
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)
// ルートを追加
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({
port: 8443,
redirectPort: 8080
})
// listenは非同期関数
await app.listen()