我有一个由端口3000的节点快速服务器提供服务的REST API。使用socket.io,还有一个websocket连接到同一端口上的快速服务器。
为了扩展我们的节点服务器,我们决定将websocket服务器拆分为一个全新的流程,并将其托管在一个新端口上(3002)
如何配置nginx以将所有websocket消息转发到端口3002上的新进程,同时将其他所有消息转发到端口3000上的原始REST API服务器?
答案 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