使用云代理

更新时间: 2022/06/20 06:08:48

网易云信云代理可穿透防火墙限制,使用固定 IP 连接到网易云信服务器。

云代理方案可满足多种在公有云、混合云、私有云等有防火墙或者其他网络限制的环境下,内外网进行音视频通话的场景。您仅需将少量的 IP 地址加端口加入到防火墙白名单中,然后调用相关 API 接口进行配置,即可使用云代理方案,实现内网访问网易云信服务器。

部署方式

网易云信云代理方案支持公有云与私有部署两种部署方式,用户根据自身场景可选择对应部署方式。

  • 公有云方式部署在云信公有云服务器上,可以降低用户 IT 岗位运维工作的维护成本,只需要配置云代理服务器白名单,不再需要根据云信服务器的增加而多次配置。

    如需公有云方式部署,请联系商务经理申请试用,并获取指定版本的 NERTC SDK。

  • 私有部署适用于混合云的场景,将代理部署在用户服务器上,一般情况下在隔离区(DMZ 区)进行部署,实现内外网媒体的代理传输。

    如需私有部署,请联系商务经理沟通业务需求与部署方案。

功能架构

  1. NERTC SDK 向云代理 Proxy 发起代理请求,云代理 Proxy 返回相关的代理信息用于终端配置。
  2. NERTC SDK 使用代理信息向云代理 Proxy 发送数据,云代理 Proxy 接收数据并进行处理提供给云信的业务服务器与网易云信 WE-CAN(Communications Acceleration Network)。
  3. WE-CAN 向云代理 Proxy 返回数据。
  4. 云代理 Proxy 接收数据处理后并将数据传给 NERTC SDK。

注意事项

  • 使用云代理功能前,请参考《快速入门》完成开发环境准备。
  • 若您的网络隔离策略限制了加入房间等操作,请在加入房间前,先调用 setCloudProxy 方法开启云代理服务。
  • setCloudProxy 方法在引擎生命周期内有效。销毁引擎之后,如果重启引擎,需要重新调用 setCloudProxy

使用云代理

  1. 添加白名单

    请将下表中的 IP 地址及端口添加到防火墙白名单中。

    以下服务器 IP 地址和端口仅供测试使用,测试完成后,网易云信会为您部署云代理服务正式环境。请在应用正式上线前向网易云信申请正式的 IP 地址和端口,您需要其添加到企业防火墙的白名单。

    | 区域 | IP | 端口 | |--------|------------------|--------------------------| | 上海 | 81.69.152.207 | - UDP:3478/7070 |
    | | | - TCP:443 | | 北京 | 211.159.144.126 | - UDP:3478/7070 |
    | | | - TCP:443 | | 广州 | 1.14.217.204 | - UDP:3478/7070 |
    | | | - TCP:443 | | 成都 | 139.155.65.90 | - UDP:3478/7070 |
    | | | - TCP:443 |

  2. 调用 SDK API。

    1. 调用 setCloudProxy 接口,开通云代理设置。

      成功连接云代理后,SDK 会触发 onNERtcEngineConnectionStateChangeWithState(kNERtcConnectionStateConnecting, kNERtcReasonConnectionChangedSettingProxyServer) 回调。

    2. 调用 joinChannel 接口加入房间,此时 SDK 会使用云代理地址进行加房间操作。

    3. 如需关闭云代理服务,调用 setCloudProxy,并将 proxyType 参数设置为 NERtcTransportTypeNoneProxy(0),即关闭云代理功能。

      示例代码:

      // 第1步,开启云代理功能
      [[NERtcEngine sharedEngine] setCloudProxy:NERtcTransportTypeUDPProxy];
      // 第2步,加入房间
      [[NERtcEngine sharedEngine] joinChannelWithToken:token
                                          channelName:channelName
                                              myUid:uId
                                          completion:completion];
      
此文档是否对你有帮助?
有帮助
去反馈
  • 部署方式
  • 功能架构
  • 注意事项
  • 使用云代理