Express를 사용한 SSL 웹 서버, 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.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/에서 실행 중입니다.`)