带有 SignalR WebSocket API 的 APIM 与 HTTP one 共享相同的端点

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

我正在尝试将 Azure SignalR 服务与 APIM 集成(将其用作反向代理)。它需要将相同的子路径 (

/client
) 路由到 SignalR 服务,但使用不同的协议(HTTP 和 WebSocket)。我无法在 APIM 中完成这项工作。当我尝试添加 WebSocket API 时,它将作为单独的新 API 添加。知道如何解决这个问题或解决它吗?

我试过了。我添加了两个 API,一个用于 http,一个用于 websocket:

HTTP POST: <APIM url>/client/negotiate (no api suffix)
Websocket: <APIM url>/client (suffix: client)

在我添加以上 API 后,APIM 将始终将

client/negotiate
路由到 websocket 之一。看起来像是 APIM 的错误。

HTTP POST: <APIM url>/client/negotiate (no api suffix)
Websocket: <APIM url>/client (suffix: client)

我希望正确路由这两种类型的请求。

azure websocket signalr azure-api-management
© www.soinside.com 2019 - 2024. All rights reserved.