我们正处于开发浏览器内移动应用程序的最后阶段,这个应用程序将在非互联网连接的环境(在潜艇上)运行。 我们正在运行潜艇内部的服务器(带有node.js的Windows 8笔记本电脑),并且该应用程序在node.js中运行。 有一个无线路由器,服务器和客户端通过它连接,DHCP服务器为服务器分配一个保留的静态IP地址。 所有其他连接都由相同的DHCP处理,在IP范围内。 现在我们可以通过浏览器通过input服务器的IP地址从移动设备访问应用程序,但是我们想要完成的是有一个强制门户,每当设备连接到无线networking时,浏览器会自动加载我们的应用程序 我们不希望用户在浏览器上inputIP地址。 我们有一个安装了CoovaAp固件的Linksys路由器,但不知道如何继续。 谢谢你的时间!
我有一个HAProxy + NodeJS + Rails安装程序,我使用NodeJS服务器进行file upload。 我面对的问题是,如果我通过haproxy上传到nodejs,并且由于丢失的数据包而发生“TCP(快速)重传”,客户端上的TX速率将下降到零,持续约5-10秒,并被淹没与TCP重传。 如果我直接上传到NodeJS,则不会发生这种情况(TCP重传也发生,但不会因为几十次重传而停滞)。 我的testing设置是一个简单的HTML4 FORM(方法POST),具有单个文件input字段。 NodeJS服务器只读取传入的数据,不做其他事情。 我已经在多台机器,networking,浏览器上testing过这个问题。 这是上传文件时客户端的TCPstream量转储: ….. TCP 1506 [TCP segment of a reassembled PDU] >> everything is uploading fine until: TCP 1506 [TCP Fast Retransmission] [TCP segment of a reassembled PDU] TCP 66 [TCP Dup ACK 7392#1] 63265 > http [ACK] Seq=4844161 Ack=1 Win=524280 Len=0 TSval=657047088 TSecr=79373730 […]
我们有一个当前的,即将成为传统的PHP应用程序安装在生产中,与Apache服务。 工作正常。 目前正在尝试添加新的Node.js alpha堆栈,我们计划在一段时间内安装一个活动框架(在临时服务器上,而不是现在的产品)来安装。 我们将在新环境中使用nginx作为前端节点和其他一些服务。 此外,现在需要继续使用旧的PHP应用程序 – 通过nginx(而不是Apache)。 我的问题: 任何真实世界的生产技巧,将nginx设置为这样的服务的高效反向代理? 这对我来说似乎是非常简单的,而且似乎完全按照预期工作 – 但我一直是一个apache人,所以我只想确保我不会忽略任何安全明智的,performance明智的等等。 从apache支持的PHP切换到php-fpm,以便为现有应用程序提供服务时,应该注意什么? 我从来没有用过这种味道的PHP,但它看起来像通过nginx做到这一点的最佳方式。 所有明显的ini值都移植过了,但我仍然觉得我可能会错过一些东西。
我在同一台服务器上有两个不同的应用程序。 其中一个在80端口(mydomain.com)上运行,另一个在端口443(sub.mydomain.com)上运行,并具有通配符证书。 第一个应用程序仅用于信息目的,不需要websockets支持。 第二个应用程序应该有安全的websockets支持(wss协议)。 我尝试在engineyard云上为我的rails应用程序和nginx服务器设置juggernaut gem(用于websockets),但是我遇到了一个问题。 Engineyard云只提供两个打开的端口:80和443.我知道nginx并不完全支持http 1.1反向代理,所以我不能使用nginx中的代理redirectwebsockets请求到特定的本地端口(在我的情况下,这个端口是8080)。 我试过使用HAProxy,它对我来说只是使用不安全的websocket,但是我需要支持安全的websocket。 正如我所知,在这种情况下,我应该使用像隧道隧道我的https请求,而不是使用HAProxy,但是当我testing它 – 我看到服务器必须工作几次慢,我仍然没有工作,使用安全套接字连接:( 也许我做错了什么? 也许有人会告诉如何为多个应用程序设置nginx(其中一个应该通过https工作),并使用两个端口(80和443)来保护websocket。 ps另外我用了一个node-http-proxy,在这种情况下,我可以为不同的nginx应用程序设置代理,但是我不能运行websockets(只发生在通过nginx的“handshake”上,而不是“切换协议”)
我在我的节点服务器上工作,遇到需要实现使用request.headers.referer 。 当我testing并读取头文件以确定如何编写parsing函数时,我无法确定从服务器之外,目录之外的链接调用的请求和从给定HTML响应调用本地资源的请求之间的区别。 例如, 使用<a href="http://localhost/dir2">从localhost / dir1到localhost / dir2将产生响应标题: referer:"http://localhost/dir1" url:"/dir2" 而从localhost / dir2发送的使用本地URI style.css请求资源的HTML文件将是yeild: referer:"http://localhost/dir2" url:"/style.css" 并且涉及图像的相同情况可能结束 referer:"http://localhost/dir2" url:"/_images/image.png" 我该如何防止解决冲突,在url和referer之间,意外parsing为和parsing为http://localhost/dir1/dir2或http://localhost/_images/image.png等等? 有没有一种方法可以告诉浏览器以何种方式引用URI,当http://localhost/dir2/../dir1是目的地时,浏览器或服务器如何识别?
我试图编译节点(v0.4.1)使用n (或只是与make),并提出与openssl有关的错误。 我(重新)在发出编译命令之前安装了openssl,但是节点正在报告openssl : not found 。 你可以在我上一个命令OpenSSL 1.0.1 14 Mar 2012看到openssl的版本。 任何人都可以提供一个解决scheme,让我编译节点? sysadmin@serv:/usr/local/n/node-v0.4.1$ sudo n 0.4.1 /usr/bin/node ######################################################################## 100.0% Checking for program g++ or c++ : /usr/bin/g++ Checking for program cpp : /usr/bin/cpp Checking for program ar : /usr/bin/ar Checking for program ranlib : /usr/bin/ranlib Checking for g++ : ok Checking for program gcc […]
Ubuntu 11.04,node.js 0.6.16,nginx 1.0.8 我开始debugging下面的错误,我们从很重的负载(3500用户积极长时间轮询/使api调用)频繁地从前端logging: parsererror:Error: jQuery171045845469435053_1347386706235 was not called", 所有产生这个错误的调用都是通过一个nginx代理到一个node.js服务器的长时间轮询。 发生这种情况时,我发现在服务器的以下位置出现以下错误: 在/var/log/syslog我每隔几分钟就会看到一次这样的爆发: [6356088.813219] TCP: Possible SYN flooding on port 8894. Sending cookies. 在nginx error.log ,我看到以下两个错误更频繁的突发: 2012/09/11 18:13:05 [error] 25104#0: *1229679431 upstream timed out (110: Connection timed out) while connecting to upstream, 和 2012/09/11 18:10:38 [error] 25103#0: *1229382210 recv() failed (104: Connection reset by peer) […]
我在StackOverflow的这个问题中详细说明了一些随机请求是不是从客户端到我的Node.js应用服务器,导致网关超时。 总而言之,相同的请求是随机的,甚至不足以在我的第一个expression中间件产品中触发console.log()。 但是,我需要缩小这个问题的范围,以便找出哪里有stream量丢失,并build议我在我的应用服务器上尝试一个数据包嗅探器。 这是我的设置: 2x负载均衡器(m1.larges) 2x node.js服务器(也是m1.large) 以下是有趣的/不常见的:node.js服务器以Apache服务器启动,并且继续为我的域(streamified.me)提供PHP文件。 但是,我在应用程序服务器上使用了一些小小的httpd.conf魔术,以便对api.streamified.me的请求通过端口8888路由到node.js服务器: RewriteCond %{HTTP_HOST} ^api.streamified.me RewriteRule ^(.*) http://localhost:8888$1 [P] 所以,请求到达负载平衡器=>进入一个应用服务器=>如果打算用于API =>被路由到端口8888由node.js处理 所以,在同一个httpd.conf文件中,我打开了RewriteLogLevel 5,然后在本地主机上创build了一个简单的PHP + CURL脚本,用随机的URL打开我的api.streamified.me(这应该会导致node.js触发一个简单的“未find”响应),直到导致网关超时。 在这里,你可以看到它已经发生了 – 重写日志显示请求被应用服务器肯定接收并转发到端口8888 …但是它从来没有被node.js收到(或者至less第一行中间件的第一行代码从来没有得到它) 图片链接: http : //i.stack.imgur.com/3OQxS.png
我在本地局域网中使用它,所以它应该是相当快的。 nginx服务器使用node.js服务器来提供静态文件,所以它必须通过node.js来下载文件,但是当我不使用nginx的时候这不是问题。 我已经通过直接使用nginx提供文件来提高速度,但我不认为可以这样设置。 我想成为node.js,这是应用程序本身照顾什么显示… 在铬debugging器上我可以看到,状态是:206 – 部分内容,它只下载了31KB的1.03MB。 1.1分钟后,它变成红色,状态失败。 等待时间:6ms接收时间:1.1分钟 谷歌标题: Request URL:http://192.168.1.16/production/assembly/script/production.js Request Method:GET Status Code:206 Partial Content Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:pt-PT,pt;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Cookie:connect.sid=s%3Abls2qobcCaJ%2FyBNZwedtDR9N.0vD4Fi03H1bEdCszGsxIjjK0lZIjJhLnToWKFVxZOiE Host:192.168.1.16 If-Range:"1081715-1350053827000" Range:bytes=16090-16090 Referer:http://192.168.1.16/production/assembly/ User-Agent:Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 Response Headersview source Accept-Ranges:bytes Cache-Control:public, max-age=0 Connection:keep-alive Content-Length:1 Content-Range:bytes 16090-16090/1081715 Content-Type:application/javascript Date:Mon, 15 Oct […]
所以目前我的linode(ubuntu 11.10)使用连接的侦听端口80的vhost中间件为我提供了三个node.js应用程序。下面是vhost如何设置一个域的例子: var portfolio = require('./bootstrap-portfolio/lib/app.js'); var server = express(); server.use(express.vhost('sencedev.com',portfolio)); server.use(express.vhost('www.sencedev.com',portfolio)); server.listen(80); 不过,我现在想要添加一个wordpress安装到我的vps。 在过去对我来说,这意味着传统的Apache安装; 然而,我有点不确定如何node.js +一个不同的networking服务器(Apache或Nginx)应该交互。 任何想法,我应该如何处理托pipewordpress + node.js在同一个盒子?