首页前端开发其他前端知识如何用Node搭建Https服务

如何用Node搭建Https服务

时间2023-03-29 16:41:12发布访客分类其他前端知识浏览1294
导读:这篇“如何用Node搭建Https服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用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证书

获取SSL证书方式有两种:

  1. 自己借助openSSL工具生成SSL证书

  2. 下载某些平台提供的免费/付费的SSL证书(推荐)

我是使用某云平台提供免费的证书

点击下载后选择服务器类型

下载后的文件分别是以.key、.pem为后缀,其中.key文件是base64加密私钥,.pem文件是base64加密的证书

使用Node.js自身的Https模块开启一个服务

相较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框架开启Https

工作中肯定是使用社区的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服务”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

nodehttps

若转载请注明出处: 如何用Node搭建Https服务
本文地址: https://pptw.com/jishu/744.html
andriod中AGPBI: {“kind“:“error“,“text“:“Cannot fit requested classes in a single dex file错误怎么解决 node中如何使用import语法(node.js import)

游客 回复需填写必要信息