首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >彗星的nginx代理

彗星的nginx代理
EN

Stack Overflow用户
提问于 2009-07-21 17:03:33
回答 7查看 14.1K关注 0票数 15

我需要一些linux专家的帮助。我正在开发一个包含彗星服务器的webapp应用程序。comet服务器在localhost:8080上运行,并为要连接的客户端公开url localhost:8080/long_轮询。我的webapp运行在本地主机上:80。

我使用nginx代理从nginx到comet服务器的请求(localhost:80/long_轮询代理到localhost:8080/long_轮询),但是,对于这个解决方案,我有两个抱怨:

  1. nginx为我提供了504网关超时时间--一分钟后,即使我将每次超时设置为600秒
  2. ,我也不希望nginx必须代理到comet服务器-- nginx代理不是为持久连接构建的(可能长达半个小时)。我宁愿允许客户机直接连接到comet服务器,并让comet服务器处理它。

所以我的问题是:在不使用nginx代理的情况下,是否有允许我将localhost:8080/long_轮询公开给localhost:80/long_轮询的linux技巧?一定有什么东西。这就是为什么我认为这个问题最好由linux专家来回答。

我需要在端口80上公开/long_polling的原因是为了能够使用AJAX连接到它(ajax相同来源-策略)。

这是我的nginx proxy.conf供参考:

代码语言:javascript
运行
复制
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;
client_max_body_size        10m;
client_body_buffer_size     128k;
proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
proxy_buffer_size           4k;
proxy_buffers               4 32k;
proxy_busy_buffers_size     64k;
proxy_temp_file_write_size  64k;
send_timeout                600;
proxy_buffering             off;
EN

Stack Overflow用户

发布于 2010-10-18 20:23:24

您可能希望在node.js服务器上尝试listen(80),而不是8080 (我猜您正在使用它作为异步服务器?)而且有可能完全错过Ngnix。我使用连接中间件并将其表示到服务器静态文件,并处理通常由Ngnix处理的缓存。如果您希望有多个节点运行实例(我建议这样做),那么您可能希望将node.js本身看作是对其他节点实例的代理/负载均衡器,而不是将Nginx作为您的网关。但是,当我同时处理太多的静态图像文件时,我遇到了一个问题,但是当我将图像放到S3上之后,它就稳定了下来。Nginx可能对你所做的事过分了。试试看。祝你好运。

票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1160454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档