功能描述

对于安全需求较高的企业用户,设置防火墙可以限制员工访问非认可的网站,保护内部信息安全。

为避免这些企业因防火墙无法使用 Agora 的服务,Agora 开发了云代理服务。用户只需要在防火墙上将特定的 IP 及端口列入白名单,就可以实现内网访问 Agora 服务。

相比配置单一的代理服务器,云代理服务更灵活稳定,因此在大型企业、医院、高校、金融等安全需求较高的机构内都有广泛的应用。

实现方法

  1. 下载最新版的 Agora Native SDK

  2. 参考对应平台的快速开始文档完成开发环境准备。

  3. 联系 sales@agora.io,提供 App ID,并提供代理服务使用区域、并发规模、网络运营商等信息,申请开通云代理服务。

  4. 将以下测试 IP 及端口添加到企业防火墙的白名单。

    源地址为集成了 Agora Native/Recording SDK 的客户端。

协议 目标地址 端口 端口用途
TCP 120.92.118.34 4000 消息数据传输
TCP 120.92.18.162 4000 消息数据传输
TCP 47.74.211.17 1080, 8000, 25000, 9700 边缘节点通信
TCP 52.80.192.229 1080, 8000, 25000, 9700 边缘节点通信
TCP 52.52.84.170 1080, 8000, 25000, 9700 边缘节点通信
TCP 47.96.234.219 1080, 8000, 25000, 9700 边缘节点通信
UDP 120.92.118.34 4500 - 4650 媒体数据交换
UDP 120.92.18.162 4500 - 4650 媒体数据交换
UDP 47.74.211.17 1080, 8000, 25000, 9700 边缘节点通信
UDP 52.80.192.229 1080, 8000, 25000, 9700 边缘节点通信
UDP 52.52.84.170 1080, 8000, 25000, 9700 边缘节点通信
UDP 47.96.234.219 1080, 8000, 25000, 9700 边缘节点通信
以上 IP 仅供测试阶段调试使用,正式上线前需要向 Agora 申请独立的云代理服务资源。
  1. 调用 SDK 包中的 setParameters("{\"rtc.enable_proxy\"}:true"); 接口,将参数值设为 true,表示开启云代理服务,测试是否能正常实现音视频通话或直播。
  2. 测试完成后,Agora 会为你部署云代理服务正式环境,并提供相应的 IP(域名)和端口。将 Agora 提供的 IP 和端口添加到企业防火墙的白名单上。

工作原理

Agora 云代理的工作原理如下:

  • Agora SDK 在连接 Agora SD-RTN 之前,向云代理发起请求;
  • 云代理返回相应代理信息;
  • Agora SDK 向云代理发送数据,云代理将接收到的数据透传给 Agora SD-RTN;
  • Agora SD-RTN 向云代理返回数据,云代理再将接收到的数据发送给 Agora SDK。

开发注意事项

setParameters 必须在加入频道前或离开频道后调用。