Wso2 APIM Web Socket API 上下文

问题描述 投票:0回答:1

我们使用 WSO2 API Manager 版本 4.0.0 来公开在 .NET Core 中实现的 SignalR 服务。前端是用 Angular 构建的。

以下是我们配置 API 的方式。

WebSocket API:

WSO2 端点:wss://localhost/chathub/1.0.0/chathub 后端端点:wss://localhost:30002/chathub 主题:WebSocket API 配置为处理与聊天中心主题相关的消息。 休息 API:

WSO2 端点:https://localhost/chats/1.0.0/chathub 目的:此 REST API 提供诸如生成连接 ID 以及客户端发起和维护与 SignalR 服务的 WebSocket 连接所需的其他必要响应等功能。

我们可以在 wso2 apim 中的两个 API 中添加相同的上下文,其中一个是 REst api,另一个是 Web Socket?或者我们可以将Web Socket端口更改为https端口8243吗?是否有可能两个 api 具有相同的上下文(如 /chathub)?

我们还可以在 SignalR 中更改一件事,即如果点击 https://localhost/chats/1.0.0/chathub 首先获得所有响应,然后在 websocket 上连接 wss://localhost/chathub/1.0.0/chathub网址?如果是的话,可能的解决方案是什么。

wso2 signals wso2-identity-server signalr-hub
1个回答
0
投票

API 管理器当前分别处理两种传输:Web 套接字和 HTTP。 Web 套接字是使用入站端点部署的,该端点使用 WS 端口 9099 和 WSS 端口 8099 公开。因此,这两种类型的 API 不能使用同一端口公开。 另外,是的。不允许在发布者门户中创建具有相同上下文的两个 API。

建议的解决方案: 在 API 网关之前进行部署将帮助您在这种情况下正确管理路由,以便如果请求中存在 Web 套接字升级标头,它将被路由到 Web 套接字 API,如果没有升级标头,它将被路由到 REST API。

© www.soinside.com 2019 - 2024. All rights reserved.