Node启动https服务器的教程

首先你需要生成https证书,可以去付费的网站购买或者找一些免费的网站,可能会是key或者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版本

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版本

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}`)

})

总结

以上所述是小编给大家介绍的Node启动https服务器的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

以上是 Node启动https服务器的教程 的全部内容, 来源链接: utcz.com/z/346507.html

回到顶部