Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Proxy Node.js-使用WebSocket代理的优秀Web服务器&;SSL支持?_Proxy_Node.js_Webserver_Websocket - Fatal编程技术网

Proxy Node.js-使用WebSocket代理的优秀Web服务器&;SSL支持?

Proxy Node.js-使用WebSocket代理的优秀Web服务器&;SSL支持?,proxy,node.js,webserver,websocket,Proxy,Node.js,Webserver,Websocket,我真的很喜欢node.js,但是如果您想运行多个websocket服务器并使它们都可以通过端口80访问,那么这就太复杂了 我目前正在运行nginx,但是根据url将传入的websocket连接代理到不同的websocket服务器是不可能的,因为nginx不支持http1.1 我曾尝试实现一个Web服务器,它拥有我自己的功能,但当涉及到头传递等时,它真的很复杂。另一件事是SSL支持。支持它并不容易 那么,有没有人知道做我提到的事情的好方法 谢谢你的帮助 我使用nodejitsu获得了很好的效果。正

我真的很喜欢node.js,但是如果您想运行多个websocket服务器并使它们都可以通过端口80访问,那么这就太复杂了

我目前正在运行nginx,但是根据url将传入的websocket连接代理到不同的websocket服务器是不可能的,因为nginx不支持http1.1

我曾尝试实现一个Web服务器,它拥有我自己的功能,但当涉及到头传递等时,它真的很复杂。另一件事是SSL支持。支持它并不容易

那么,有没有人知道做我提到的事情的好方法

谢谢你的帮助

我使用nodejitsu获得了很好的效果。正如自述文件中所述,它们似乎支持WebSocket

WebSocket示例(取自其GitHub自述文件):


它的生产使用应该是没有问题的,因为它是用于。要运行代理应用程序作为守护进程,考虑使用.< /P> < P>新版本的NGIX实际上将支持HTTP/1.1的反向代理。您可能需要1.1.7或更高版本

在配置中尝试以下操作:

location / {
    chunked_transfer_encoding off;
    proxy_http_version 1.1;
    proxy_pass        http://localhost:9001;
    proxy_buffering   off;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  Host $host:9001;  #probaby need to change this
    proxy_set_header  Connection "Upgrade"; 
    proxy_set_header  Upgrade websocket;
}
很好的一点是,您可以在nginx终止SSL

location / {
    chunked_transfer_encoding off;
    proxy_http_version 1.1;
    proxy_pass        http://localhost:9001;
    proxy_buffering   off;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  Host $host:9001;  #probaby need to change this
    proxy_set_header  Connection "Upgrade"; 
    proxy_set_header  Upgrade websocket;
}