【问题标题】:Gateway API - Apache APISIX with Secured Websockets网关 API - 具有安全 Websocket 的 Apache APISIX
【发布时间】:2022-04-03 11:26:27
【问题描述】:

我正在尝试将 API 网关添加到客户端-服务器系统,该系统通过 WebSockets 进行通信。

服务器是位于远程机器中的音频识别引擎,客户端通过 WebSockets ('wss://...') 连接到它,发送音频文件并接收其文本翻译表示。 我的主要目标是在中间添加一个免费的开源 API 网关,以便进行身份验证\授权\速率限制\等(尝试过 Kong\Tyk\krakenD,但它们不是免费的)。
在网上搜索后,我专注于 Apache APISIX 网关。 作为测试,我设法将 APISIX 连接到通过 http/https 进行通信的客户端服务器,它工作正常。 此外,我设法通过常规 websocket 连接 (ws://) 将客户端与服务器连接起来,并且数据事务成功,但无论我做什么,我都无法连接到安全连接。我应该在仪表板中编辑任何特殊配置吗?

我想知道是否有人从经验中知道是否可以使用 使用 Apache APISIX 的安全 WebSockets,如果是,应该如何完成 - 因为文档缺少任何信息\示例,或者是否有更好的解决方案来解决我的问题。

APISIX 仪表板中唯一的 WebSocket 参考 -

【问题讨论】:

    标签: websocket api-gateway


    【解决方案1】:

    您应该做的是创建一个 SSL 对象(您可以在左侧边栏中找到它)。请参阅https://apisix.apache.org/docs/apisix/admin-api/#ssl 了解 APISIX SSL 对象。

    你可以在https://apisix.apache.org/docs/apisix/certificate看到一个例子

    SSL 对象提供所需的 TLS 证书和私钥,以便根据客户端发送的 TLS SNI,此密钥对可用于 TLS 握手。之后,您的客户端与 APISIX 建立了安全连接,现在您可以安全地发送 WebSocket 流量了。

    【讨论】:

    猜你喜欢
    • 2019-07-04
    • 2022-06-12
    • 2015-08-10
    • 2017-01-31
    • 2022-12-29
    • 2021-11-09
    • 2015-03-31
    • 2017-08-05
    • 2012-07-13
    相关资源
    最近更新 更多