Articles of node.js

socket.io会话以HAproxy结束

我仍然与处理HAproxy的configuration,使其与socket.io工作。 我最后一个问题是: HAProxycaching转发? 我得到它的工作,但由于某种原因,身份validation后,发送一些命令,连接被删除,并build立一个新的连接,你可以看到这里: info – handshake authorized 2ZqGgU2L5RNksXQRWuhi debug – setting request GET /socket.io/1/websocket/2ZqGgU2L5RNksXQRWuhi debug – set heartbeat interval for client 2ZqGgU2L5RNksXQRWuhi debug – client authorized for debug – websocket writing 1:: debug – websocket received data packet 5:3+::{"name":"ferret","args":["tobi"]} debug – sending data ack packet debug – websocket writing 6:::3+["woot"] info – transport end […]

Nginx:用附加请求修改响应主体

我正在寻找一种方法来修改由我使用Nginx代理我的请求的一些Web服务器创build的响应正文: server { listen 80; server_name localhost; location /myproject/ { proxy_pass http://127.0.0.1:8080/myproject/; > modify response from http://127.0.0.1:8080/myproject/ before sending } } 这是像HttpSubModule,但与外部程序,而不是简单的文本replace。 修改程序是一个Node.js的networking服务器,所以我想在发送请求中发送响应。 但这只是一个简单的想法,各种方法都非常感谢。

为node.jsconfiguration子域

我得到了快递node.js网站的Ubuntu服务器。 我已经可以请求它了: 通过ip:像那样: http://11.22.334.44 : http://11.22.334.44 和域:像这样: http://my-domain.com : http://my-domain.com 我想要configuration为通过子域请求:像这样: http://my-subdomain.my-domain.com : http://my-subdomain.my-domain.com 。 我该怎么办? 我应该安装dns吗? 怎么做?

为什么我的nodejs应用程序永远不能从EC2实例的Upstart开始?

我试图启动一个nodejs应用程序forever ( forever只是重新启动程序,如果崩溃),但forever不会自动启动引导。 所以我使用暴发户forever初始化。 我已经尝试了数百种方式来达到这个目的(许多尝试和错误尝试),但是对我来说似乎没有什么效果。 所以我的情况是: 我正在运行一个Amazon Linux实例 如果从命令行运行的应用程序效果很好(永远在工作,也是新贵) 我正在testing与sudo start prv 这是我到目前为止的脚本(prv.conf,位于/etc/init/prv.conf ): author "Renato Gama" description "PRV" start on runlevel [235] stop on shutdown respawn export HOME="/home/ec2-user/prv/app" exec su -c "/usr/bin/forever start -l forever.log -o /home/ec2-user/prv/logs/out.log -e /home/ec2-user/prv/logs/err.log –append /home/ec2-user/prv/app.js" root | logger -t PRV 事实上,从命令行我可以通过键入以下(并按预期工作)启动应用程序: cd /home/ec2-user/prv sudo su -p (altough I […]

NPM无法安装Socket.io是否需要x-server?

我试图在我的Linux服务器上使用NPM安装socket.io root @ camdev01-dev:#npm install socket.io (npm:22742):Gtk-WARNING **:无法打开显示: OS:ubuntu.11.10服务器

Node.js SSL:无效的证书

我正在尝试将SSL层应用到node.js服务器。 以下是我已经完成的步骤 使用这个博客创build了所有的ssl资源 按照这里给出的指示启动我的node.js服务器,而不inputpem密码 我的node.js代码是 var app = express(); var options = {key:fs.readFileSync('./ sslCA / server.key'),cert:fs.readFileSync('./ sslCA / server.crt'),ca:fs.readFileSync('./ sslCA / ca .crt'),requestCert:true,rejectUnauthorized:false}; app.set('port',process.env.PORT || 3000); app.set('views',__dirname +'/ views'); app.set('view engine','jade'); app.set('view options',{layout:false}); app.use(express.favicon()); app.use(express.logger( 'dev的')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.static(path.join(__ dirname,'public'))); ());});});});}。 当我将IE10浏览器指向本地主机时,出现错误 There is a problem with this website's security certificate. The security certificate presented […]

Node.js + Nginx的访问控制,允许来源不起作用

我有api.mysite.com托pipe的api和client.mysite.com上的客户端。 现在从客户端我得到 XMLHttpRequest无法加载http://api.mysite.com/settings/find 。 Access-Control-Allow-Origin不允许访问原始http://client.mysite.com 。 api基于node.js(sailsjs框架)和angular.js上的客户端。 networking服务器是一个nginx机器。 我的虚拟主机configuration: server { listen 0.0.0.0:80; server_name api.mysite.com; location / { add_header 'Access-Control-Allow-Origin' 'http://api.mysite.com'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Accept,Content-Type, Origin'; proxy_pass http://127.0.0.1:1337/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 所以在浏览器中,我可以很好地访问我的API,但是当我从客户端访问它时,我得到以上错误。 正如你所看到的,我添加了相关的头文件到虚拟主机,但我仍然得到错误。 任何想法什么是错的?

Nginx来解决Nodejs应用

我正在使用Plesk 11.5.x的Ubuntu Web服务器。 我添加了Nodejs,现在我想用一个子域名来pipe理Nodejs应用程序。 网站: domain.tld Nodejs App: app.domain.tld 目前工作: domain.tld:2368 ,但我想隐藏端口的帮助下的子域。 我应该能够做到以下几点: upstream app_myApp { server 127.0.0.1:2368; } server { listen 0.0.0.0:80; server_name app.domain.tld; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://app_myApp/; proxy_redirect off; } } 我的问题是在哪里放置,因为我正在使用Plesk。 在Plesk 11.5的…/system/domain.tld/conf/vhost_nginx.conf是上游和服务器命令不允许。 而location /也是不可能的。 我想我会需要像/etc/nginx/sites-available/domain.tld 。 我不知道在哪里添加这个没有破坏plesk或我的configuration覆盖自动plesk reconfig。 […]

为什么我的程序在VPS上运行速度慢了2-4倍?

我有一个程序(在Ubuntu上的Node.js Web应用程序),在我的家用电脑上加载大约7秒。 最近我把它复制到VPS,在那里,它在15-30秒内加载。 我试图找出为什么这么慢,以及如何使它更快。 我开始检查内存消耗,但发现(使用“顶部”),在VPS上我只使用了2 GB中的大约400 MB。 所以,增加内存可能不是解决scheme。 另一方面,在启动过程中,我发现CPU使用率是100%,所以我想可能是处理器的问题。 所以我比较了处理器types,但差别似乎并不大。 以下是我在家用电脑上从“cat / proc / cpuinfo”得到的信息: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Pentium(R) CPU G620 @ 2.60GHz stepping : 7 microcode : 0x14 cpu MHz : 1600.000 cache size : 3072 KB physical id : […]

正确configurationCouchdb + SSL Ubuntu。 获取错误:curl:(35)连接到127.0.0.1:6984的未知的SSL协议错误

我正在寻找使用SSL和nodejs的CouchDB,我刚刚从自签名证书(这是工作一个多月)转换到一个真正的SSL证书,现在我遇到了configuration问题。 一路上我分散了几个问题,因为有很多部分,但主要的问题是节点和沙发不再说话。 我有nodejs运行,我正在使用node-spdy扩展( https://www.npmjs.org/package/spdy ) 我有SSL证书configuration: var options = { key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'), cert: fs.readFileSync(__dirname + '/keys/spdy-cert.pem'), ca: fs.readFileSync(__dirname + '/keys/spdy-ca.pem'), }; 第一个问题:我现在有一个中间证书,我怎么告诉nodejs这个?以前我的证书是自签名的,所以我把csr文件放在ca点(上面),并且正在工作。 实际上,今天尝试一下,csr文件和中间证书似乎在那个地方工作,但这不可能是正确的,因此我的问题。 所以如果是csr,那我该如何正确configuration中间证书呢? 我已经看到这个线程︰https: //stackoverflow.com/questions/19104215/node-js-express-js-chain-certificate-not-working 接下来,当我有自签名证书时,couchdb正在使用SSL。 为了让节点和沙发玩SSL好,我不得不在节点上设置此标志: process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 这样就停止了节点退出“自签名”证书的错误。 现在我想删除那个标志。 (原来我从这里得到这个技巧: https : //github.com/mikeal/request/issues/418 ) 现在到了主要的问题。 在CouchDB中,我的local.ini有: [httpd] ;port = 5984 ;bind_address = 127.0.0.1 ; Options for the MochiWeb HTTP […]