如何利用nodejs搭建https服务器
这篇文章主要介绍“如何利用nodejs搭建https服务器”,在日常操作中,相信很多人在如何利用nodejs搭建https服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用nodejs搭建https服务器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十年企业及个人网站建设经验 ,为成都千余家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站设计,同时也为不同行业的客户提供成都网站建设、成都网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选成都创新互联公司。
首先我们用上篇文章生成的https证书结合nodejs来搭建一个https服务,代码如下:app.js
const express = require("express")
const app = express();
const https = require("https");
const fs = require("fs");
const options = {
key:fs.readFileSync('./server.key'),
cert:fs.readFileSync("./server.crt")
}
app.get("/",(req,res)=>{
res.send("hello world");
})
const server = https.createServer(options,app);
server.listen(3000,()=>{
console.log("running")
})
阅读上面的代码,我们在这里使用了nodejs的https模块开启https服务,https模块的使用和http模块使用只有一点不同,那就是https开启服务要证书。
关于用http模块搭建服务的文章可以看这里,https开启服务器需要传递一个options参数,参数形式是一个对象,这个对象有两个重要的属性,key属性代表服务端的私钥,cert代表CA机构颁发给服务器的证书。其他使方式和http模块完全一样,这里为了简化服务器的搭建我们借助了express框架。
执行 node app.js,访问https://localhost:3000/,在谷歌浏览器中会出现如下界面:
出现这个界面是因为我们的根证书没有权威性,与根证书相对应的公钥没有被植入到各大操作系统和浏览器中,所以浏览器认为我们的网站使用虚假证书,不安全,这里忽略就可以了,现实环境我们的网站不会使用自签名证书的,这里只是测试,点击高级按钮,出现如下界面:
点解继续前往即可,这时我们就可以访问我们的网站了,如图
这时发现地址栏有一个危险标识,直接忽略即可。
https服务搭建完了,接着在此基础上我们搭建一个https的静态文件服务器,代码修改如下:
const express = require("express")
const app = express();
const https = require("https");
const fs = require("fs");
const options = {
key:fs.readFileSync('./server.key'),
cert:fs.readFileSync("./server.crt")
}
app.get("/",(req,res)=>{
res.send("hello world");
})
app.use(express.static("./public"))
const server = https.createServer(options,app);
server.listen(3000,()=>{
console.log("running")
})
仔细阅读源码,我们这里使用了express自带的中间件express.static,通过这个中间件我们将public这个文件的静态资源发布到了服务器上,这样就搭建了一个https的静态服务器。
总结一下:本篇文章我们结合上一篇文章得到的https证书、nodejs的https模块、express框架搭建了一个https服务器,并且通过使用express的中间件express.static将其配置成了一台静态资源服务器。
到此,关于“如何利用nodejs搭建https服务器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
当前名称:如何利用nodejs搭建https服务器
浏览路径:http://pwwzsj.com/article/ppdsdg.html