Tag: nodejitsu

在一个端口上使用单个应用程序的节点应用程序使用代理服务器(如node-http-proxy)有什么意义?

我正在探索使用node-http-proxy代理服务器,以便我们可以在端口80上将我们的代理服务器转发到端口8000上的我们的应用服务器。但是,我有点困惑,为什么这是一个好主意,而这个设定会如何保护安全。 note-http-proxy文档讨论了很多使用它作为将请求转发到具有多个端口或IP地址的应用程序的方法。 这显然是非常有用的,特别是基本的循环负载平衡策略。 但是,我们只在一个端口上有一个应用程序,所以我们没有必要这样做。 如果有一个重要的安全原因,我们应该使用这个代理服务器,那么我想知道什么types的攻击,它的保护。 另外,我们使用的是socket.io,所以如果代理服务器能够帮助websocket服务器扩展,我也想明白这一点。 我们无法确定如何在没有sudo情况下运行我们的应用程序(因为所有1024以下的端口都需要root访问权限),所以如果现在真的没有理由使用代理服务器,那么我们只会报废。 如果有人知道如何使用端口80上的代理服务器运行这个应用程序没有根权限,这也是非常有用的。 谢谢!

有没有办法自动生成bundledDependencies列表?

我有一个应用程序,我正在部署到Nodejitsu。 最近,他们遭受了npm的问题,导致我的应用程序在我尝试(并失败)重新启动后几个小时脱机,因为它的依赖关系无法安装。 有人告诉我,将来可以通过将我的所有依赖列表作为bundledDependencies在package.json中,从而导致依赖与应用程序的其余部分一起上传。 这意味着我需要我的package.json看起来像这样: "dependencies": { "express": "2.5.8", "mongoose": "2.5.9", "stylus": "0.24.0" }, "bundledDependencies": [ "express", "mongoose", "stylus" ] 现在,在DRY的理由,这是没有吸引力。 但更糟糕的是维护:每次添加或删除依赖项时,我都必须在两个地方进行更改。 有没有一个命令我可以用来同步bundledDependencies dependencies与dependencies ?

NodeJS的高延迟

这个问题特别针对Nodejitsu,但类似的效果似乎发生在其他VPS上。 我有一个使用socket.io的实时游戏,有一件事我注意到,偶尔服务器会在响应之前等待过多的时间。 如果在该时间段内发送了多个请求,则它们的行为就好像它们已经全部排队并一次处理。 我怀疑它与共享的硬件上其他用户的存在有着模糊的关系(就像任何VPS一样)。 无论如何,要testing这个(并确保它不是由于我的游戏的代码),我build立了一个最小的testing用例: express = require('express') http = require('http') app = express() server = http.Server(app) io = require('socket.io').listen(server) io.sockets.on('connection', function(sock){ sock.on('perf', function(data, cb){ cb([Date.now()]); //respond with the current time }) }) app.get('/', function(req, res){ res.header("Access-Control-Allow-Origin", "*") res.header("Access-Control-Allow-Methods", "HEAD,GET,PUT,POST,DELETE") res.header("Access-Control-Allow-Headers", "X-Requested-With") res.end(JSON.stringify([Date.now().toString()])); //http equivalent of perf function }) server.listen(process.env.PORT || 6655, function(){ console.log('listening now') […]

如何在Elastic Beanstalk上使用私有的npmregistry?

我们在Amazon Elastic Beanstalk上运行了一个nodejs项目,该项目使用我们使用nodejitsu的私有npmregistry托pipe的私有模块。 然而,从弹性实例访问私有的npmregistry并不是直截了当的,没有很好的logging。 什么是最好的方式来build立这个访问?

npm peer与grunt和flatiron peer的依赖问题

在发布这个问题的时候,我想出了答案,但是我会在这里发帖以防别人帮忙,也许有人可以帮忙解释发生了什么事情。 当我运行: sudo npm install -g grunt 它的最后部分说: /usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt npm ERR! peerinvalid The package flatiron does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer flatiron-cli-config@0.1.3 wants flatiron@~0.1.9 npm ERR! peerinvalid Peer flatiron-cli-users@0.1.1 wants flatiron@~0.1.9 npm ERR! System Linux 3.5.0-23-generic npm ERR! command "nodejs" "/usr/bin/npm" "install" "-g" "grunt" npm ERR! cwd /home/explunit […]