Node启动https服务器的教程
首先你需要生成https证书,可以去付费的网站购买或者找一些免费的网站,可能会是key或者crt或者pem结尾的。不同格式之间可以通过OpenSSL转换,如:
opensslx509-inmycert.crt-outmycert.pem-outformPEM
Node原生版本:
consthttps=require('https')
constpath=require('path')
constfs=require('fs')
//根据项目的路径导入生成的证书文件
constprivateKey=fs.readFileSync(path.join(__dirname,'./certificate/private.key'),'utf8')
constcertificate=fs.readFileSync(path.join(__dirname,'./certificate/certificate.crt'),'utf8')
constcredentials={
key:privateKey,
cert:certificate,
}
//创建https服务器实例
consthttpsServer=https.createServer(credentials,async(req,res)=>{
res.writeHead(200)
res.end('HelloWorld!')
})
//设置https的访问端口号
constSSLPORT=443
//启动服务器,监听对应的端口
httpsServer.listen(SSLPORT,()=>{
console.log(`HTTPSServerisrunningon:https://localhost:${SSLPORT}`)
})
express版本
constexpress=require('express')
constpath=require('path')
constfs=require('fs')
consthttps=require('https')
//根据项目的路径导入生成的证书文件
constprivateKey=fs.readFileSync(path.join(__dirname,'./certificate/private.key'),'utf8')
constcertificate=fs.readFileSync(path.join(__dirname,'./certificate/certificate.crt'),'utf8')
constcredentials={
key:privateKey,
cert:certificate,
}
//创建express实例
constapp=express()
//处理请求
app.get('/',async(req,res)=>{
res.status(200).send('HelloWorld!')
})
//创建https服务器实例
consthttpsServer=https.createServer(credentials,app)
//设置https的访问端口号
constSSLPORT=443
//启动服务器,监听对应的端口
httpsServer.listen(SSLPORT,()=>{
console.log(`HTTPSServerisrunningon:https://localhost:${SSLPORT}`)
})
koa版本
constkoa=require('koa')
constpath=require('path')
constfs=require('fs')
consthttps=require('https')
//根据项目的路径导入生成的证书文件
constprivateKey=fs.readFileSync(path.join(__dirname,'./certificate/private.key'),'utf8')
constcertificate=fs.readFileSync(path.join(__dirname,'./certificate/certificate.crt'),'utf8')
constcredentials={
key:privateKey,
cert:certificate,
}
//创建koa实例
constapp=koa()
//处理请求
app.use(asyncctx=>{
ctx.body='HelloWorld!'
})
//创建https服务器实例
consthttpsServer=https.createServer(credentials,app.callback())
//设置https的访问端口号
constSSLPORT=443
//启动服务器,监听对应的端口
httpsServer.listen(SSLPORT,()=>{
console.log(`HTTPSServerisrunningon:https://localhost:${SSLPORT}`)
})
总结
以上所述是小编给大家介绍的Node启动https服务器的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!