Nodejs创建https服务器(Windows 7)
为了实验一下WebRTC,搭了个简单的https服务器。说说步骤:
- 生成OpenSSL证书
- 使用Nodejs的https模块建立服务器
OpenSSL 证书
我机子Windows 7,安装了Cygwin,里面安装了openssl,我用它来生成https服务器需要的证书文件。
1. 生成私钥key文件
$ openssl genrsa -out privatekey.pem 1024
Generating RSA private key, 1024 bit long modulus
....++++++
.....................................++++++
e is 65537 (0x10001)
2. 通过私钥生成CSR证书签名
$ openssl req -new -key privatekey.pem -out certrequest.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:ShanXi
Locality Name (eg, city) []:Xian
Organization Name (eg, company) [Internet Widgits Pty Ltd]:foruok
Organizational Unit Name (eg, section) []:foruok
Common Name (e.g. server FQDN or YOUR name) []:foruok
Email Address []:foruok@163.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
3. 通过私钥和证书签名生成证书文件
$ openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certification.pem
Signature ok
subject=/C=CN/ST=ShanXi/L=Xian/O=foruok/OU=foruok/CN=foruok/emailAddress=foruok@163.com
Getting Private key
Nodejs https 服务器示例
从Nodejs文档里摘出来的代码:
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('./privatekey.pem'),
cert: fs.readFileSync('./certification.pem')
};
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
执行 node httpsdemo.js,然后在Chrome里访问access https://192.168.40.158:8000
。结果如下:
你可能注意到了,证书有点问题,点下地址栏,能看怎么回事儿:
我们创建的证书没有经过身份验证,不受信。有需要的话,可以去有资质的网络运营商申请自己的证书。
Nodejs创建https服务器(Windows 7)的更多相关文章
- Nodejs创建HTTPS服务器
Nodejs创建HTTPS服务器 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Jav ...
- Nodejs+Express创建HTTPS服务器
为了使我的Nodejs服务器提供HTTPS服务,学习了一下如何利用express创建https服务器,现记录如下.(一点一点的积累与掌握吧) 1. Http与Https 介绍 HTTP: 超文本传输协 ...
- nodejs的express框架创建https服务器
一 openssl创建https私钥和证书 1.下载windows版openssl: http://slproweb.com/products/Win32OpenSSL.html Win64OpenS ...
- nodejs创建http服务器
之前有简单介绍nodejs的一篇文章(http://www.cnblogs.com/fangsmile/p/6226044.html) HTTP服务器 Node内建有一个模块,利用它可以很容易创建基本 ...
- NodeJS搭建HTTPS服务器
[NodeJS搭建HTTPS服务器] http://cnodejs.org/topic/54745ac22804a0997d38b32d
- NodeJs 创建 Web 服务器
以下是演示一个最基本的 HTTP 服务器架构(使用8081端口),创建 ser.js 文件,代码如下所示: var http = require('http'); var fs = require(' ...
- 【本地服务器】json-server搭建本地https服务器(windows)
(一)用json-server搭建简单的服务器 (搭建出来的服务器地址为localhost:3000) 1.新建Mockjson文件夹,进入该文件夹目录,运行命令 npm install -g jso ...
- Node.js权威指南 (8) - 创建HTTP与HTTPS服务器及客户端
8.1 HTTP服务器 / 177 8.1.1 创建HTTP服务器 / 177 8.1.2 获取客户端请求信息 / 182 8.1.3 转换URL字符串与查询字符串 / 184 8.1.4 发送服务器 ...
- Express与NodeJs创建服务器的两种方法
NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.w ...
随机推荐
- nyoj-----127星际之门(一)
星际之门(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门 ...
- Thread 总结
进程:是一个正在执行的程序 每一个进程执行都有一个执行顺序.该顺序是一个执行路劲,后者叫一个控制单元. 线程:就是进程中的一个独立控制单元. 线程在控制着进程的执行 一个进程中至少有个一个线程 Jav ...
- IntelliJ IDEA 12 与 Tomcat 集成并运行Web项目
配置Tomcat Server 1.Ctrl+Alt+s或者File——>Setting...;选中“Application Servers”点击"+" 创建运行配置 上面的 ...
- memcached 学习 1—— memcached+spring配置
memcached 学习目录: memcached 学习 1—— memcached+spring配置 这几天自己搭建项目环境,解决问题如下: 有关常见的配置这里没有列出,中间遇到的搭建问题比较顺利g ...
- 再谈HTML
关于WEB 采用B/S计算模式开发的应用程序我们一般称为Web应用程序. WEB三大层面: 网页的结构部分:结构的定义使用HTML语言(超文本标记语言Hyper Text Mark Up Langua ...
- template模版与Underscore.js
template模版与Underscore.js 在项目中经常使用的模版是Underscore这个js框架的实用功能. 在html里面设定模板,然后js绑定数据,这样能避免在js中出现非常多的html ...
- 简单分析Java的HashMap.entrySet()的实现
关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...
- Internet Explorer已限制此网页运行可以访问计算机的脚本或ActiveX控件
在制作网页的时候,大家不免要用到script,也即是脚本,主要是VBScript以及JavaScript.那么时常遇到这样的情况: 在本地双击打开html文件时,如果是IE的话,会出现提示框(如下图) ...
- AjaxUpload.3.5.js之ASP.NET 文件上传
一.引入js文件 <script type="text/javascript" src="/Scripts/JQuery.min.js"></ ...
- iOS通过openURL打开原生应用与页面(包括电话,短信,safari等)
[[UIApplication sharedApplication] openURL:url];通过给url不同的值,可以实现调用系统自带 电话/短信/邮箱/浏览器/... 1.调用 电话phone[ ...