>웹 프론트엔드 >JS 튜토리얼 >노드에서 https 서버를 시작하는 방법

노드에서 https 서버를 시작하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-03-19 14:42:492188검색

이번에는 Node에서 https 서버를 시작하는 방법을 알려드리겠습니다. Node에서 https 서버를 시작할 때 주의사항은 무엇인가요? 다음은 실제 사례입니다.

먼저 https 인증서를 생성해야 합니다. 유료 웹사이트에서 구매하거나 일부 무료 웹사이트를 찾을 수 있습니다. 이는 키, crt 또는 pem으로 끝날 수 있습니다. OpenSSL을 통해 다음과 같은 다양한 형식을 변환할 수 있습니다.

openssl x509 -in mycert.crt -out mycert.pem -outform PEM

Node 기본 버전:

const https = require('https')
const path = require('path')
const fs = require('fs')

// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
  key: privateKey,
  cert: certificate,
}

// 创建https服务器实例
const httpsServer = https.createServer(credentials, async (req, res) => {
  res.writeHead(200)
  res.end('Hello World!')
})

// 设置https的访问端口号
const SSLPORT = 443

// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
  console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

express version

const express = require('express')
const path = require('path')
const fs = require('fs')
const https = require('https')

// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
  key: privateKey,
  cert: certificate,
}

// 创建express实例
const app = express()

// 处理请求
app.get('/', async (req, res) => {
  res.status(200).send('Hello World!')
})

// 创建https服务器实例
const httpsServer = https.createServer(credentials, app)

// 设置https的访问端口号
const SSLPORT = 443

// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
  console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

koa version

const koa = require('koa')
const path = require('path')
const fs = require('fs')
const https = require('https')

// 根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync(path.join(dirname, './certificate/private.key'), 'utf8')
const certificate = fs.readFileSync(path.join(dirname, './certificate/certificate.crt'), 'utf8')
const credentials = {
  key: privateKey,
  cert: certificate,
}

// 创建koa实例
const app = koa()

// 处理请求
app.use(async ctx => {
  ctx.body = 'Hello World!'
})

// 创建https服务器实例
const httpsServer = https.createServer(credentials, app.callback())

// 设置https的访问端口号
const SSLPORT = 443

// 启动服务器,监听对应的端口
httpsServer.listen(SSLPORT, () => {
  console.log(`HTTPS Server is running on: https://localhost:${SSLPORT}`)
})

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 정보, PHP 중국어 기타 온라인 관련 기사에 주목하십시오!

추천 도서:

이벤트 모델에 대한 자세한 설명

이벤트 루프 사용 방법

위 내용은 노드에서 https 서버를 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.