返回顶部
首页 > 资讯 > 服务器 >Node搭建https服务器实例详解
  • 105
分享到

Node搭建https服务器实例详解

Node搭建https服务器 2023-05-18 06:05:19 105人浏览 泡泡鱼
摘要

 本文旨在分享搭建https服务器的过程,具体知识点以及相关概念请自行查询。 第一步:创建文件目录如下,在index中引用外部的script.js文件,server.js是

 本文旨在分享搭建https服务器的过程,具体知识点以及相关概念请自行查询。

第一步:创建文件目录如下,在index中引用外部的script.js文件,server.js是服务器文件。

 第二步:创建自己的CA机构.

在根文件夹下打开命令行工具,直接依次使用下面的命令。

//为CA生成私钥
 openssl genrsa -out ca-key.pem -des 1024
//通过CA私钥生成CSR
 openssl req -new -key ca-key.pem -out ca-csr.pem
//通过CSR文件和私钥生成CA证书
 openssl x509 -req -in ca-csr.pem -signkey ca-key.pem -out ca-cert.pem

 注意下面的运行结果:enter pass phrase for ca-key.pem:设置自己的密码,要记住,接下来的操作中要多次验证。客户端和服务端的代码中要用,这里我设置的是sun13083691283.

 需要设置项均可以直接enter键默认跳过。

 

第三步:创建服务器端证书 

//(1)为服务器生成私钥
 openssl genrsa -out server-key.pem 1024
//(2)利用服务器私钥文件服务器生成CSR
 openssl req -new -key server-key.pem -config openssl.cnf -out server-csr.pem

这一步可能会报错,Unable to load config info from /user/local/ssl/openssl.cnf,或者有关openssl.cnf的错误,在根目录下创建一

个openssl.cnf的文件,将下面的代码拷贝进去。

[req]  
    distinguished_name = req_distinguished_name  
    req_extensions = v3_req  
    [req_distinguished_name]  
    countryName = Country Name (2 letter code)  
    countryName_default = CN  
    stateOrProvinceName = State or Province Name (full name)  
    stateOrProvinceName_default = BeiJing  
    localityName = Locality Name (eg, city)  
    localityName_default = YaYunCun  
    organizationalUnitName  = Organizational Unit Name (eg, section)  
    organizationalUnitName_default  = Domain Control Validated  
    commonName = Internet Widgits Ltd  
    commonName_max  = 64  
    [ v3_req ]  
    # Extensions to add to a certificate request  
    basicConstraints = CA:FALSE  
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment  
    subjectAltName = @alt_names  
    [alt_names]  
	#注意这个IP.1的设置,IP地址需要和你的服务器的监听地址一样
    IP.1 = 127.0.0.1
//(3)通过服务器私钥文件和CSR文件生成服务器证书
 openssl x509 -req -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -in server-csr.pem -out server-cert.pem -extensions v3_req -extfile openssl.cnf

 第四步:创建客户端证书

//(1)生成客户端私钥
 openssl genrsa -out client-key.pem
//(2)利用私钥生成CSR
 openssl req -new -key client-key.pem -out client-csr.pem
//(3)生成客户端证书
 openssl x509 -req -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -in client-csr.pem -out client-cert.pem

第五步:将证书打包

//(1)打包服务器端证书
 openssl pkcs12 -export -in server-cert.pem -inkey server-key.pem -certfile ca-cert.pem -out server.pfx
//(2)打包客户端证书
 openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -certfile ca-cert.pem -out client.pfx

打包结束后在文件夹下会看到如下文件,将其放到keys文件中。 

第六步:编写服务端代码

注意:代码里面的passphrase要填写之前设置的密码,sun13083691283

var Https = require('https');
var fs = require('fs');
var options = {
	pfx:fs.readFileSync('./keys/server.pfx','utf-8'),
	passphrase:'your passWord'
};
https.createServer(options,function(req,res){
	res.writeHead(200);
	res.end('hello world\n');
}).listen(3000,'127.0.0.1');

第七步:编写客户端代码

注意:代码里面的passphrase要填写之前设置的密码,sun13083691283

var https = require('https');
var fs = require('fs');
var options = {
	hostname:'127.0.0.1',
	port:3000,
	path:'/',
	method:'GET',
	pfx:fs.readFileSync('./keys/server.pfx','utf-8'),
	passphrase:'your password',
	agent:false
};
options.agent = new https.Agent(options);
var req = https.request(options,function(res){
console.log("statusCode: ", res.statusCode);
  console.log("headers: ", res.headers);
	res.setEncoding('utf-8');
	res.on('data',function(d){
		console.log(d);
	})
});
req.end();
req.on('error',function(e){
	console.log(e);
})

第八步:打开浏览器验证 

参考资料:https://cnodejs.org/topic/54745ac22804a0997d38b32d 

PS:这里需要注意一点,笔者在测试的时候,由于node.js相关模块的版本问题,调用 fs.readFileSync 函数需要指明编码类型,否则返回Buffer结果,并在运行时报错!这种报错在很多类似的网络资料上都会遇到。

--结束END--

本文标题: Node搭建https服务器实例详解

本文链接: https://lsjlt.com/news/211763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node搭建https服务器实例详解
     本文旨在分享搭建https服务器的过程,具体知识点以及相关概念请自行查询。 第一步:创建文件目录如下,在index中引用外部的script.js文件,server.js是...
    99+
    2023-05-18
    Node 搭建 https 服务器
  • 如何用Node搭建Https服务
    这篇“如何用Node搭建Https服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用Node搭建Https服务”文章吧...
    99+
    2023-07-05
  • 怎么利用Node搭建Https服务
    怎么利用Node搭建Https服务?下面本篇文章给大家介绍一下Node.js搭建Https服务的方法,希望对大家有所帮助!Node.js用于做小程序后台服务,域名要求必须是Https协议。在Node.js开启Http服务是非常简单的,如下:...
    99+
    2023-05-14
    Https服务 nodejs​ node
  • node+js搭建时间服务器的思路详解
    目录时间服务器1.思路准备1.1思路来源1.2思路前提要求1.3技术要求2.实现2.1实现准备2.2搭建前台页面2.3搭建后台服务器2.3.1搭建后台2.3.2后台处理要发送的数据2...
    99+
    2024-04-02
  • 云服务器https如何搭建
    要搭建一个使用HTTPS的云服务器,需要完成以下步骤:1. 购买云服务器:选择一个云服务提供商,在其官网上注册账号并购买云服务器实例...
    99+
    2023-09-27
    云服务器
  • 详解Node.js利用node-git-server快速搭建git服务器
    本文用到了node-git-server 1、检测本地git版本 该包的使用需要机器上本来就安装git,且git的版本大于等于2.7: ─root@lt /home/workspace ─# gi...
    99+
    2022-06-04
    详解 快速 服务器
  • 使用 Koa + TS + ESLlint 搭建node服务器的过程详解
    目录初始化项目环境准备安装环境初始化 tsconfig.json简单搭建 Koa 服务器完整项目搭建依赖安装构建目录结构修改 package.json代码规范eslintpretti...
    99+
    2024-04-02
  • 搭建阿里云服务器https的详细指南
    随着互联网的快速发展,越来越多的企业和个人选择搭建自己的服务器,以满足各种需求。而其中,阿里云服务器因其稳定、安全、高效的特点,受到众多用户的青睐。本文将详细介绍如何搭建阿里云服务器https:。 一、阿里云服务器购买首先,你需要在阿里云官...
    99+
    2023-11-15
    阿里 服务器 指南
  • Nodejs 搭建简单的Web服务器详解及实例
    使用 Nodejs 搭建简单的Web服务器 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:htt...
    99+
    2022-06-04
    详解 实例 简单
  • node如何搭建web服务器
    小编给大家分享一下node如何搭建web服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!web服务器的基本知识功能:1.接收...
    99+
    2024-04-02
  • 阿里云服务器搭建Node环境详细教程
    阿里云服务器是阿里云提供的高性能、可扩展的云计算产品,可以帮助企业快速搭建和扩展应用程序,节省IT运维成本。本教程将详细介绍如何在阿里云服务器上搭建Node环境,以满足开发需求。 步骤一:创建阿里云服务器首先,你需要在阿里云平台上创建一个...
    99+
    2023-11-02
    阿里 环境 服务器
  • 详解Linux搭建DNS服务器
    1.DNS服务器概念 在互联网上通信需要借助于IP地址,但人类对于数字的记忆能力远不如文字,那么将IP地址转换成容易记忆的文字是个好办法,可是计算机只能识别0、1代码,这时就需要一种机制来解决IP地址与主机名的转换问题,...
    99+
    2022-06-04
    Linux搭建DNS服务器 Linux如何搭建DNS服务器 Linux下搭建DNS服务器 Linux - DNS服务器搭建
  • 详解node中创建服务进程
    背景 在node工程部署中,常常涉及到三方:本地客户端、跳板机和服务器(集群)。在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这需要使...
    99+
    2022-06-04
    详解 进程 node
  • 创建简单的node服务器实例(分享)
    话不多说直接上代码: var http = require('http') //对URL 解析为对象 //1.导入模块 URl模块 var url = require('url') var fs ...
    99+
    2022-06-04
    实例 简单 服务器
  • 搭建node服务(二):操作MySQL
    搭建node服务(二):操作M...
    99+
    2024-04-02
  • 怎么在Nginx中搭建一个https服务器
    这篇文章给大家介绍怎么在Nginx中搭建一个https服务器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。HTTPS简介HTTPS(Hypertext Transfer Protocol over Secure Soc...
    99+
    2023-06-08
  • 云服务器搭建个人博客配置https
    云服务器搭建个人博客是一个简单且快速的过程,以下是一些步骤和注意事项: 步骤: 1. 选择主机和数据存储。云服务器可以根据你的需求和偏好进行配置,例如选择可靠的数据存储服务、支持多种操作系统、支持大量数据等等。你应该确保选择一家信誉良好的...
    99+
    2023-10-27
    服务器 博客 https
  • 阿里云https环境服务器搭建指南
    在互联网上,https是目前最安全的协议之一,它可以为用户提供更安全的网络服务。而阿里云作为一个国内领先的云服务商,其https环境服务器搭建服务也受到了广泛的欢迎。本文将详细介绍如何在阿里云上搭建https环境服务器。 一、https环境...
    99+
    2023-10-31
    阿里 环境 服务器
  • node通过express搭建自己的服务器
    前言 为了模拟项目上线,我们就需要一个服务器去提供API给我们调用数据。这次我采用express框架去写API接口。所有请求都是通过ajax请求去请求服务器来返回数据。第一次用node写后端,基本就是摸着石...
    99+
    2022-06-04
    自己的 服务器 node
  • 使用亚马逊云搭建node服务器
    要搭建一个亚马逊云的Node服务器,您需要了解一些基本的配置选项。您可以使用AWS提供的命令行界面或者使用Microsoft Azure提供的命令行界面来完成此操作。 以下是一个简单的搭建Node服务器的步骤: 安装AWS Kubern...
    99+
    2023-10-27
    亚马逊 服务器 node
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作