我需要一些linux专家的帮助。我正在开发一个包含彗星服务器的webapp应用程序。comet服务器在localhost:8080上运行,并为要连接的客户端公开url localhost:8080/long_轮询。我的webapp运行在本地主机上:80。
我使用nginx代理从nginx到comet服务器的请求(localhost:80/long_轮询代理到localhost:8080/long_轮询),但是,对于这个解决方案,我有两个抱怨:
所以我的问题是:在不使用nginx代理的情况下,是否有允许我将localhost:8080/long_轮询公开给localhost:80/long_轮询的linux技巧?一定有什么东西。这就是为什么我认为这个问题最好由linux专家来回答。
我需要在端口80上公开/long_polling的原因是为了能够使用AJAX连接到它(ajax相同来源-策略)。
这是我的nginx proxy.conf供参考:
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;发布于 2010-10-18 20:23:24
您可能希望在node.js服务器上尝试listen(80),而不是8080 (我猜您正在使用它作为异步服务器?)而且有可能完全错过Ngnix。我使用连接中间件并将其表示到服务器静态文件,并处理通常由Ngnix处理的缓存。如果您希望有多个节点运行实例(我建议这样做),那么您可能希望将node.js本身看作是对其他节点实例的代理/负载均衡器,而不是将Nginx作为您的网关。但是,当我同时处理太多的静态图像文件时,我遇到了一个问题,但是当我将图像放到S3上之后,它就稳定了下来。Nginx可能对你所做的事过分了。试试看。祝你好运。
https://stackoverflow.com/questions/1160454
复制相似问题