欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 使用Node.js搭建https服务器

使用Node.js搭建https服务器

2025/5/4 8:46:30 来源:https://blog.csdn.net/u014552102/article/details/147365063  浏览:    关键词:使用Node.js搭建https服务器

一、引言

https是是http的安全版本,在http的基础上通过传输加密和身份认证保证了传输过程中的安全性。可以认为:https = http + tls/ssl。本文讲述使用Node.js搭建https服务器的方法。

二、编译OpenSSL

按照《Openssl在Linux下编译/交叉编译》,编译出OpenSSL的库和可执行文件:

直接执行./openssl会报错,提示找不到动态库,所以得设置环境变量:

设置环境变量。其中,“/home/cjc/source/openssl-3.4.0-alpha1/install/lib64”为我本机编译出来的OpenSSL动态库的路径:

export LD_LIBRARY_PATH=/home/cjc/source/openssl-3.4.0-alpha1/install/lib64:$LD_LIBRARY_PATH

三、 生成公钥/私钥/证书

进入编译出的OpenSSL可执行文件的所在目录。生成传统的 RSA 私钥2048位,输出到rsa_private_key.pem文件:

openssl genrsa -out rsa_private_key.pem 2048

生成 RSA公钥rsa_public_key.pem:

openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

生成证书签名请求csr.pem:

openssl req -new -key rsa_private_key.pem -out csr.pem

使用CSR和私钥生成自签名证书cert.pem:

openssl x509 -req -days 365 -in csr.pem -signkey rsa_private_key.pem -out cert.pem

执行上述命令后,可以看到确实生成了公钥、私钥和证书:

四、安装Node.js

按照《Ubuntu下安装Node.js》安装Node.js

五、编写Node.js程序

server.js:

'use strict'var https = require('https');
var fs = require('fs');var options = {key : fs.readFileSync('/home/cjc/source/openssl-3.4.0-alpha1/install/bin/rsa_private_key.pem'),cert : fs.readFileSync('/home/cjc/source/openssl-3.4.0-alpha1/install/bin/cert.pem')
}var app = https.createServer(options ,function(req,res){res.writeHead(200, {'Content-Type':'text/plain'});res.end('Hello World\n');
}).listen(443,'0.0.0.0');console.log('Server running at https://127.0.0.1:443');

上述代码中,options里面的key指定私钥的位置,cert指定自签名证书的位置。

使用node命令执行以上代码:

浏览器输入:https://192.168.0.104/

 192.168.0.104是我htts服务器所在电脑的IP。可以看到htts服务器创建成功了,用浏览器可以访问:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词