如何用Node搭建Https服务


这篇“如何用Node搭建Https服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用Node搭建Https服务”文章吧。 Node.js用于做小程序后台服务,域名要求必须是Https协议。在Node.js开启Http服务是非常简单的,如下:

consthttp=require('http');
constserver=http.createServer((req,res)=>{
res.writeHead(200,{'Content-Type':'text/html;charset=utf8'});
res.end('访问成功')
});
server.listen(8080,()=>{
console.log('服务已开启');
})

如果想使用Https服务需要两步:1. 需要免费云主机域名有一份SSL证书;2. 使用Node.js自身的Https模块。获取SSL证书方式有两种:自己借助openSSL工具生成SSL证书下载某些平台提供的免费/付费的SSL证书(推荐)我是使用某云平台提供免费的证书点击下载后选择服务器类型下载后的文件分别是以.key、.pem为后缀,其中.key文件是base64加密私钥,.pem文件是base64加密的证书相较Http,它多了一个options参数。

consthttps=require('https');
constfs=require('fs');
constpath=require('path');
constoptions={
key:fs.readFileSync(path.join(__dirname,'./ssl/9499016_www.linglan01.cn.key')),
cert:fs.readFileSync(path.join(__dirname,'./ssl/9499016_www.linglan01.cn.pem')),
};
constserver=https.createServer(options,(req,res)=>{
res.writeHead(200,{'Content-Type':'text/html;charset=utf8'});
res.end('访问成功')
});
server.listen(8080,()=>{
console.log('服务已开启');
})

由于SSL证书我绑定的域名是www.linglan01.cn ,当我使用https://127.0.0.1:8080 访问服务时与绑定的域名不相符,它会被拦截访问,仅允许 www.linglan01.cn 访问。使用域名为www.linglan01.cn 才能正常的访问。工作中肯定是使用社区的Express等框架进行开发,想在Express等框架中开启Https也非常容易,以Express举例:

consthttps=require('https');
constfs=require('fs');
constpath=require('path');
constexpress=require('express')
constapp=express();
app.get('/chat',(req,res)=>{
res.send('我是https')
});
constoptions={
key:fs.readFileSync(path.join(__dirname,'./ssl/9499016_www.linglan01.cn.key')),
cert:fs.readFileSync(path.join(__dirname,'./ssl/9499016_www.linglan01.cn.pem')),
};
constserver=https.createServer(options,app);
server.listen(8080,()=>{
console.log('服务已开启');
})

以上就是关于“如何用Node搭建Https服务”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: vue3和ts封装axios及使用mock.js的方法是什么

这篇文章主要讲解了“vue3和ts封装axios及使用mock.js的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3和ts封装axios及使用mock.js的方法是什么”吧!我们要注意区分 A…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/05 09:51
下一篇 06/05 09:51

相关推荐