ssl-server

A Sumor Cloud 도구입니다.
더 많은 문서

Express로 만든 SSL 웹 서버, 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을 443으로 리디렉트합니다
await app.listen()

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