簡體   English   中英

如何配置Nginx將WebSocket轉發到其他進程

[英]How to configure nginx to forward websockets to a different process

我在端口3000上有一個由節點快遞服務器提供服務的REST API。使用socket.io,在同一端口上還有一個連接到快遞服務器的websocket。

為了擴展節點服務器,我們決定將websocket服務器拆分為一個全新的進程,並將其托管在新的端口上(3002)

如何配置nginx將所有websocket消息轉發到端口3002上的新進程,同時將所有其他消息轉發到端口3000上的原始REST API服務器?

您只需配置一個位置指令以代理您的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM