这篇文章包含3个主要内容:
- 如何用nodejs创建https服务器;
- 如何免费申请到ssl证书;
- nginx如何设置https服务器。
如果想了解https原理部分,可以查看之前的文章介绍htts原理
1、用Nodejs创建HTTPS服务器
在Nodejs中,我们可以通过内置的https库,来实现HTTPS服务器。
Nodejs的HTTPS使用文档:http://nodejs.org/api/https.html
~ cd /home/conan/nodejs
~ sudo npm install
用openssl生成证书文件
~ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun 4 07:26:06 UTC 2013
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
~ openssl genrsa -out privatekey.pem 1024
~ openssl req -new -key privatekey.pem -out certrequest.csr
~ openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem
修改文件app.js
~ vi app.js
//在最下面
var https = require('https')
,fs = require("fs");
var options = {
key: fs.readFileSync('./privatekey.pem'),
cert: fs.readFileSync('./certificate.pem')
};
https.createServer(options, app).listen(3011, function () {
console.log('Https server listening on port ' + 3011);
});
启动服务器
~ node app.js
Express server listening on port 3000
Https server listening on port 3011
2、申请免费的SSL证书
HTTPS和HTTP的区别
转自:http://ljinkai.github.io/2015/06/30/https-2/
相关推荐
Node.js官方提供了丰富的模块来支持网络通信,其中https模块是用于创建HTTPS服务器和客户端的核心模块之一。 HTTPS(全称:HyperText Transfer Protocol Secure)是HTTP的安全版本,它在HTTP的基础上通过使用SSL/...
这篇博客“nodejs使用https的步骤发布服务”将引导我们如何在Node.js中配置并实现HTTPS服务。以下是对这个主题的详细讲解。 首先,HTTPS是HTTP(超文本传输协议)与SSL/TLS(安全套接层/传输层安全)的结合,主要...
本文将深入探讨如何使用Node.js创建HTTP和HTTPS服务器,特别是针对HTTPS服务器的双向认证设置。 首先,我们从基础开始。HTTP(超文本传输协议)是互联网上应用最广泛的数据通信协议,用于从Web服务器传输超文本到...
在Node.js中,你可以使用`https`模块来创建HTTPS服务器。以下是一个简单的示例,展示了如何加载和使用这些证书文件: ```javascript const fs = require('fs'); const https = require('https'); const express = ...
第一部分:Nodejs+Express创建HTTPS服务器: 为了使我的Nodejs服务器提供HTTPS服务,学习了一下如何利用express创建https服务器,现记录如下。 1. Http与Https 介绍 HTTP: 超文本传输协议 (Hypertext transfer ...
- 访问官方网站:[http://nodejs.cn/](http://nodejs.cn/) 下载Node.js,推荐使用稳定版本v6.11.3。 - 安装完成后,在命令行中输入`node -v`验证安装情况,若正确显示版本号则表示安装成功。 2. **了解npm** - ...
使用 NODEJS 的基本 HTTPS 服务器 使用 Git 克隆应用程序 创建 ExpressJS 应用程序 express 创建用于测试的自签名证书 创建自封闭证书和私钥。 openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out ...
- Web服务器:使用NodeJS创建一个简单的HTTP服务器,处理GET和POST请求。 - 文件管理系统:实现文件上传、下载、搜索等功能,可以结合前端界面实现交互。 - 数据库操作:通过MongoDB、MySQL等数据库驱动进行数据的增...
我们可以使用淘宝镜像来配置 npm 的镜像源,命令为 `npm install -g cnpm --registry=https://registry.npm.taobao.org`。这样可以加速包的安装速度。 项目运行 在配置完成之后,我们可以运行项目了。在 IDEA 中,...
节点HttpsServer 无依赖,极简的 Web框架 const ...npm install github:MichelGerding/NodeJS-HttpsServer --save特征强大的路由易于使用的中间件使用字符串文字语法的模板引擎易于使用的视图易于创建https服务器
1. 创建项目文件夹:新建一个目录,比如命名为 "nodejs_network",用于存放项目文件。 2. 初始化项目:在项目文件夹内打开终端,输入 `npm init`,按照提示创建 package.json 文件,用于管理项目依赖。 3. 编写...
- **监听特定端口**:Web 服务器通常会在某个固定端口(如 HTTP 的 80 端口或 HTTPS 的 443 端口)上监听客户端连接。 - **处理请求**:服务器需要能够处理来自客户端的不同类型请求,例如 GET 和 POST 请求。 ####...
在提供的压缩包中,server.js和script.js可能是示例代码,用于演示如何使用NodeJS创建服务器和执行脚本。最快乐的 nodejs中文学习手册[node.js].pdf则是详细的学习资料,包含了上述所有知识点的讲解,是深入学习...
- 将新创建的全局包路径添加到系统PATH环境变量中,如`E:\java\nodejs\node_global`。 - 这样可以在任何位置使用全局安装的npm包。 4. **设置NODE_PATH环境变量**: - 新增系统变量`NODE_PATH`,变量值为全局包...
nodejs-fdf 使用 nodejs 创建 FDF 文件如何安装这个模块? 首先你必须安装 node-gyp npm -g install node-gyp rebuild之后,您可以安装 fdf 模块 git clone ...
如果没有,你可以访问官方网站`https://nodejs.org/`下载并安装适合你系统的版本。安装完成后,通过命令行工具(如cmd或PowerShell)检查Node.js是否已正确安装,输入`node -v`查看版本号。 2. **初始化项目** ...
此外,还可以使用https模块创建安全的HTTPS服务器。 除此之外,Node.js还提供了url模块解析URL,util模块提供了一些实用的工具函数,path模块处理文件路径,stream模块实现了流数据处理,使得大文件操作更加高效。 ...
访问Node.js官方网站([https://nodejs.org/en/download/](https://nodejs.org/en/download/) 或 [https://nodejs.org/zh-cn/download/](https://nodejs.org/zh-cn/download/))以获取最新版本的二进制安装包。...
访问官方网站`https://nodejs.org/`下载并安装适合你操作系统的版本。安装完成后,通过在命令行输入`node -v`来验证安装是否成功,正常情况下会显示当前Node.js的版本号。 2. **理解npm**: npm(Node Package ...
- **监听特定端口**:在Linux系统下,如果你想要使用NodeJS监听80或443端口来提供HTTP或HTTPS服务,则需要root权限。 - **使用sudo命令**:推荐的做法是通过`sudo node server.js`的方式运行需要root权限的脚本。 ...