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服务器的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!