ssl-server

Sumor Cloud のツール。
詳細なドキュメント

Expressを使用したSSL Webサーバーで、HTTP/2をサポートしています

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('Server running at https://localhost:443/')

SSLファイルを追加する

SSLファイルをルートフォルダー ssl に次の名前で追加してください:

見つからない場合、サーバーは自己署名証明書を生成します。
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/`)

HTTPだけでリッスンする

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

// listen は非同期関数です
await app.listen(null, 8080)
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/')