Tag: https

NodeJS和SSL – “密码读取错误”

节点无法为SSL通信创build安全上下文。 具体来说,我试图让远程通知在iOS上工作。 我使用了一个叫做node-apn的模块,它引发了这个错误: Error: error:0906A068:PEM routines:PEM_do_header:bad password read at Error (native) at Object.createSecureContext (_tls_common.js:108:19) at Object.exports.connect (_tls_wrap.js:852:21) at apnSocket (/home/Slurp/node_modules/apn/lib/socket.js:56:19) at Connection.<anonymous> (/home/Slurp/node_modules/apn/lib/connection.js:188:17) at _fulfilled (/home/Slurp/node_modules/apn/node_modules/q/q.js:834:54) at self.promiseDispatch.done (/home/Slurp/node_modules/apn/node_modules/q/q.js:863:30) at Promise.promise.promiseDispatch (/home/Slurp/node_modules/apn/node_modules/q/q.js:796:13) 这似乎是一个通用的错误,但并不真正与APN有关。

所有路由的HTTPSredirectnode.js / express – 安全问题

我最近在一个节点/快递服务器上设置了HTTPS。 我已经成功设法redirect所有的路线使用https使用下面的代码: // force https redirect var https_redirect = function(req, res, next) { if (req.secure) { if(env === 'development') { return res.redirect('https://localhost:3000' + req.url); } else { return res.redirect('https://' + req.headers.host + req.url); } } else { return next(); } }; app.get('*', function(req, res, next) { https_redirect(req, res, next); }); 这似乎工作正常。 不过,由于我还没有涉及到这个问题,所以我有几个问题: 这是从httpredirect到https的理想方式吗? 如果用户使用http路由,在redirect之前,任何人都可以使用像sslstrip这样的东西来嗅探会话信息。 节点:v0.8.2; […]

如何使用Express / Socket.io在Node.js上使用HTTPS

我试图用https运行我的节点服务器。 我使用express和socket.io。 这是我的代码https: var httpsPort = 443; var privateKey = fs.readFileSync(mykeypath'); var certificate = fs.readFileSync(mycertificatepath'); var credentials = {key: privateKey, cert: certificate}; var https = require('https').Server(credentials,app); var io = require('socket.io')(https); https.listen(httpsPort, function(){ logger.info('listening on *:' + httpsPort); }); app.get('/initGame', function (req,res){ var slots = require('./slots.json', 'utf8'); var userObject = { address : req.connection.remoteAddress, userAgent : […]

Node.js https pem错误:例程:PEM_read_bio:没有开始行

我现在用node.js搞乱了login表单,我试着创build一个pem key和csr using openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem 但是,我一直在运行节点server.js错误 这是我的server.js var http = require('http'), express = require('express'), UserServer = require('./lib/user-server'); var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('./key.pem', 'utf8'), cert: fs.readFileSync('./csr.pem', 'utf8') }; var app = express(); app.configure(function(){ app.use(express.bodyParser()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); […]

node.js https没有响应'结束'事件,'closures'而不是?

我正在使用node.js v。0.4.8。 当我创build一个HTTPS服务器时,我从来没有得到response.on('end',…)事件(但我做了一个HTTP)。 我阅读了node的github页面上的问题报告 – https://github.com/joyent/node/issues/728 ,显然这是一个退化为0.4.8的问题。 response.on('close',…)似乎具有相同的function,但我对HTTP / HTTPS判断不够了解。 我可以使用它作为response.on('end',…)的替代品,这是否有可能在未来导致任何问题? 你可以在下面看到一个代码示例。 提前致谢! var request = "JSON_request"; var https = require('https'); var options = { host:"someHost.com", path:"somePath", method: "POST", headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(request) } }; var req = https.request(options, function(res){ var response = ""; res.setEncoding('utf8'); res.on('data', function(chunk){ console.log("INFO: "+chunk); response += chunk; }); […]

使用节点js创buildHTTPS服务器

我想为我的本地主机创build一个https服务器。 节点JS文档提供了现成的解决scheme,但我有一些困惑。 例 var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); 要么 var options = { pfx: fs.readFileSync('server.pfx') }; 在这里,我将如何获得我的本地主机的密钥,证书或pfx?

用expressjs强制SSL 3

我正在运行一个没有代理和使用SSL的node.js express 3服务器。 我想弄清楚如何强制所有连接通过https。 谷歌search向我显示这一点: https://groups.google.com/forum/#!topic/express-js/Bm6yozgoDSY 目前没有办法强制httpsredirect,虽然这似乎有点奇怪的解决办法。 我们有一个只有https的应用程序,我们只有一个简单的〜4行节点http服务器redirect,没有什么奇特的 这是我需要的,但他没有说这四条线是什么。 我们如何做到这一点? 谢谢。

Nodejs通过同一端口的HTTP和HTTPS

我一直在谷歌search,在这里看看在stackoverflow,但我找不到我喜欢的答案;-) 我有一个通过HTTPS和端口3001运行的NodeJS服务器。现在我想要获取端口3001上的所有传入HTTP请求,并通过HTTPS将它们redirect到相同的URL。 这一定是可能的。 不是吗? 谢谢!

node.js – 使用gzip / deflate压缩的简单http请求

我想弄清楚如何轻松发送HTTP / HTTPS请求,并处理gzip /压缩响应与cookies。 我发现最好的是https://github.com/mikeal/request处理除压缩之外的所有内容。 有没有一个模块或方法可以满足我所要求的一切? 如果没有,我可以以某种方式结合请求和zlib吗? 我试图结合zlib和http.ServerRequest,它失败了。 谢谢!

监听单个快速应用程序的HTTP和HTTPS

我可以使用相同的路由和相同的中间件创build一个同时监听HTTP和HTTPS的Express服务器吗? 目前我在HTTP上使用Express来执行此操作,将HTTPS通道隧道传送到Express,但我更喜欢纯节点解决scheme。 我可以用这个代码做,但是使用标记为私有的handle方法: var express = require( 'express' ) , https = require("https") , fs = require( 'fs' ); var app = express.createServer(); // init routes and middlewares app.listen( 80 ); var privateKey = fs.readFileSync( 'privatekey.pem' ).toString(); var certificate = fs.readFileSync( 'certificate.pem' ).toString(); var options = {key: privateKey, cert: certificate}; https.createServer( options, function(req,res) { app.handle( […]