用一个端口号创建多个websocket服务器



我使用netty 4.0.20,我想在同一端口上使用不同的url创建不同的websocket服务器

例如,

wss://localhost: 1234/PathA

wss://localhost: 1234/PathB

wss://localhost: 1234/PathC

这可能吗?

是的,这可以使用反向代理,这可以用Nginx完成。

这将需要在您的设置中增加一个服务器。

首先,您必须设置每个服务器侦听不同的端口,然后您需要前端服务器侦听所需的公共端口(在您的情况下,这是1234)。

假设你有以下服务器

    Nginx监听0.0.0.0:1234 服务/PathA监听0.0.0.0:1235的Netty
  1. 服务/PathB并监听0.0.0.0:1236的Netty
  2. 服务/PathC并监听0.0.0.0:1237的Netty

现在你要做的是写一个Nginx配置文件,它将把连接从HTTP升级到Websocket,然后将每个路径反向代理到相应的服务器。下面是一个可以为您完成这项工作的示例配置文件。

{
    listen 1234;
    server_name localhost;
    location ~PathA/$ {
        proxy_pass http://localhost:1235;
        proxy_http_version 1.1;
        proxy_set_header Upgrade "websocket";
        proxy_set_header Connection "upgrade";
    }
    location ~PathB/$ {
        proxy_pass http://localhost:1236;
        proxy_http_version 1.1;
        proxy_set_header Upgrade "websocket";
        proxy_set_header Connection "upgrade";
    }
    location ~PathC/$ {
        proxy_pass http://localhost:1237;
        proxy_http_version 1.1;
        proxy_set_header Upgrade "websocket";
        proxy_set_header Connection "upgrade";
    }
}

相关内容

  • 没有找到相关文章

最新更新