如何配置nginx以将websockets转发到不同的进程

时间:2017-04-14 20:19:44

标签: node.js nginx websocket

我有一个由端口3000的节点快速服务器提供服务的REST API。使用socket.io,还有一个websocket连接到同一端口上的快速服务器。

为了扩展我们的节点服务器,我们决定将websocket服务器拆分为一个全新的流程,并将其托管在一个新端口上(3002)

如何配置nginx以将所有websocket消息转发到端口3002上的新进程,同时将其他所有消息转发到端口3000上的原始REST API服务器?

1 个答案:

答案 0 :(得分:3)

您只需配置一个位置指令来代理您的websocket服务器

location /websocket/ {

    proxy_pass http://127.0.0.1:3002;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

如果您的连接客户端是纯websocket客户端,那么您可能需要将websocket连接URL设置为ws://example.com/websocket/socket.io/?EIO=3&transport=websocket

相关问题