4

我正在使用带有nestjs 的socket.io 实现。我的整个生产架构依赖于负载均衡器来将路径上的请求路由到微服务容器。

其中一个包含一个与用户数据交互并嵌套在mydomain.com/apis/user

在我的网关上,我已将其配置为使用此路径:

@WebSocketGateway({ path: "/apis/user/gateway", namespace: "/apis/user/gateway" })

我已经尝试了没有名称空间而只有路径的变体。

我也有一个全局前缀: app.setGlobalPrefix("apis/user");删除它没有区别,看来我需要以前缀或不定义网关的路径。

然后在客户端上,我尝试通过在 url 中添加路径或选项对象来连接它,如下所示:

    const endpoint = "https://example.com/apis/user/gateway";

    socket = io(endpoint, {
      secure: true,
      path: "/apis/user/gateway",
    });

这适用于嵌套在那里的网关上的路径和句柄连接触发器,但是在后端配置轮询不起作用,客户端仍然抛出:

 https://example.com/apis/user/gateway/?EIO=4&transport=polling&t=NXVpMfB 404 Not Found
4

0 回答 0