【问题标题】:Is it possible to proxy a web socket service through Apigee?是否可以通过 Apigee 代理 Web 套接字服务?
【发布时间】:2015-08-17 17:07:45
【问题描述】:

我能够代理到常规的休息服务端点就好了。但是,我无法建立与 Web 套接字资源的连接。

【问题讨论】:

标签: apigee


【解决方案1】:

Apigee 在默认代理配置中几乎是为 HTTP 连接设置的。不过,使用 Apigee 连接网络套接字有两种选择:

node.js:在 Apigee 中设置原生 node.js 项目。这与标准代理流程是分开的,但您可以使用 socket.io 并且可以创建到多个目标的异步连接。

Java 标注:在 Apigee Edge(商业)版本中,您可以通过 UDP 或 TCP 连接到几乎任何东西。

【讨论】:

    【解决方案2】:

    据我了解这个问题,我认为您想连接到“ws://custom host/url” - 即您想使用代理 websocket 协议而不是 HTTP 或 HTTPS。我认为这还不支持。

    您可以使用Apigee Extension Policies 来做同样的事情。我不确定 Java SE 是否支持ws 协议,Java EE 支持。我们在 Java 标注中支持 Java SE - 您可能需要检查一下。您可以使用 Apigee 中的其他语言支持来试用 ws

    但我希望您思考一个基本问题 - 为什么代理 ws Websockets 用于服务器和客户端之间的全双工专用管道。 Apigee Edge 非常适合突发短请求 - 它可以大量连接池和多任务。 Websockets 将使这一点无效。在我的理解中,Websocket 并不意味着与任何代理解决方案一起使用,即使是普通的代理服务器也存在协议问题。 Websocket 用于客户端和服务器之间的专有中断通信。

    【讨论】:

      【解决方案3】:

      Apigee 支持 websocket,在创建新的 api 代理时,您必须选择服务作为 websocket 服务。

      Apigee 提供了两个版本的边缘私有云:一个支持 WebSocket,另一个不支持。如果要使用 WebSockets,则必须安装正确版本的 Edge。

      注意:您没有在 API 代理中定义显式资源。

      【讨论】:

        猜你喜欢
        • 2012-10-29
        • 2012-02-09
        • 2013-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 1970-01-01
        相关资源
        最近更新 更多