node.js 创建 https 服务器
来源:互联网 发布:mysql 用户登录失败 编辑:程序博客网 时间:2024/05/16 07:17
openssl version -aOpenSSL 1.0.1 14 Mar 2012built on: Tue Jun 4 07:26:06 UTC 2013platform: debian-amd64options: 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_ASMOPENSSLDIR: "/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
- var https = require('https'),
- url = require('url'),
- fs = require('fs');
- var options = {
- key: fs.readFileSync('./privatekey.pem'), //带路径的文件名,注意两个文件不要写反了
- cert:fs.readFileSync('./certificate.pem')
- };
- https.createServer(options, function(req, res) {
- var data = '',
- reqUrl = decodeURIComponent(req.url);
- parse = url.parse(reqUrl, true),
- query = parse.query,
- path = parse.pathname;
- req.on('data', function(chunk) {
- data += chunk;
- });
- console.log(query);
- res.writeHead(200);
- res.end('hello world\n');
- }).listen(8080);
3)运行程序
4)在浏览器中访问:https://localhost:8080?id=1
//注,?号后面的参数随便带,看实际需要
使用post方式访问https服务器:
- var https = require('https');
- var querystring = require('querystring');
- var post_data = querystring.stringify({
- act:'add',
- data:'1'
- });
- var options = {
- host:'localhost',
- port: 8889,
- path: '/cd02',
- method:'POST',
- rejectUnauthorized: false, //很多时候不加会访问出错
- headers: {
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Content-Length': post_data.length
- }
- };
- var req = https.request(options, function(res) {
- console.log('STATUS: ' + res.statusCode);
- console.log('HEADERS: ' + JSON.stringify(res.headers));
- res.on('error', function(error) {
- console.log('-----------');
- console.dir(error);
- });
- res.setEncoding('utf8');
- res.on('data', function (chunk) {
- console.dir(chunk);
- });
- });
- req.on('error', function(err) {
- console.dir(err);
- })
- // write data to request body
- req.end(post_data);
0 0
- node.js 创建 https 服务器
- node.js 创建 https 服务器
- 用Node.js创建自签名的HTTPS服务器
- 用Node.js创建自签名的HTTPS服务器
- 用Node.js创建自签名的HTTPS服务器
- 用Node.js创建自签名的HTTPS服务器
- 用Node.js创建自签名的HTTPS服务器
- Node.js创建服务器
- Node.js 创建HTTP服务器
- Node.js 创建HTTP服务器
- Node.js创建HTTP服务器
- 用Node.js创建服务器
- HTTPS配置入门:Nginx、Node.js配置HTTPS服务器
- Node.js 通过https服务器利用js调用网络摄像头
- Node.js Web 模块-创建web服务器
- Node.js创建http服务器简单实现
- node.js简单服务器创建代码
- node.js基础(创建web服务器)
- 急救常识读书笔记-3
- Deluanary三角细分及voronoi图绘制的Opencv实现(未完待续)
- Android APK反编译
- POJ 3666 Making the Grade
- 在oracle官方网站上的Windows Server System Technology Center 网址
- node.js 创建 https 服务器
- 网页重构——bigpipe中的页面构建优化
- 《剑指Offer》学习笔记--面试题34:丑数
- HTML5 开发工具
- joomla 开发的最佳实践
- 线索二叉树
- CornerStone上传静态库(.a文件)
- 转载一篇修改progressbar样式的文章
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制