为允许用户在有网络访问限制的环境中使用声网 Linux SDK,声网提供云代理服务。用户只需在防火墙上将特定的 IP 地址和端口加入白名单,并调用 API 配置声网云代码服务。
声网云代理的工作原理如下:
如图所示:
1.声网 SDK 在向云代理发起请求。
开始前,请确保你已下载声网 Linux SDK,并参考快速开始文档集成 SDK 并完成开发环境准备。
参考本节步骤开通并使用声网的云代理功能。
联系 sales@agora.io 并提供如下信息,申请开通云代理服务:
开通服务后,你就可以将需要的白名单添加到你的防火墙上。
下文提供 UDP 和 TCP 协议的云代理白名单。根据你使用的云代理类型及访问区域,将相应的 IP 地址及端口添加到白名单中。
如果你使用的是 UDP 协议的云代理服务,根据需要将如下 IP 和端口添加到你的防火墙白名单中。
中国大陆
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
140.210.77.68 | 8443 | 消息数据传输 |
125.88.159.163 | 8443 | 消息数据传输 |
106.3.140.194 | 8001 - 8005 | 边缘节点通信 |
106.3.140.195 | 8001 - 8005 | 边缘节点通信 |
除中国大陆以外的亚洲区域
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
128.1.87.146 | 8443 | 消息数据传输 |
164.52.53.77 | 8001 - 8005 | 边缘节点通信 |
164.52.53.78 | 8001 - 8005 | 边缘节点通信 |
欧洲
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
128.1.77.34 | 8443 | 消息数据传输 |
128.1.78.146 | 8443 | 消息数据传输 |
128.1.78.94 | 8001 - 8005 | 边缘节点通信 |
北美
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
69.28.51.142 | 443 | 消息数据传输 |
107.155.14.132 | 443 | 消息数据传输 |
106.3.140.194 | 443 | 边缘节点通信 |
106.3.140.195 | 443 | 边缘节点通信 |
如果你使用的是 UDP 协议的云代理服务,根据你想要的访问区域将如下 IP 和端口添加到你的防火墙白名单中。
中国大陆
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
101.132.108.165 | 443 | 消息数据传输 |
123.56.235.221 | 443 | 消息数据传输 |
106.3.140.194 | 443 | 边缘节点通信 |
106.3.140.195 | 443 | 边缘节点通信 |
除中国大陆以外的亚洲区域
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
13.250.89.184 | 443 | 消息数据传输 |
18.176.162.64 | 443 | 消息数据传输 |
164.52.53.77 | 443 | 边缘节点通信 |
164.52.53.78 | 443 | 边缘节点通信 |
欧洲
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
52.28.239.238 | 443 | 消息数据传输 |
3.9.120.239 | 443 | 消息数据传输 |
128.1.78.94 | 443 | 边缘节点通信 |
北美
目标 IP 地址 | 端口 | 端口用途 |
---|---|---|
184.72.18.217 | 443 | 消息数据传输 |
52.54.85.111 | 443 | 消息数据传输 |
148.153.53.105 | 443 | 边缘节点通信 |
148.153.53.106 | 443 | 边缘节点通信 |
添加白名单后,参考如下步骤开启并配置云代理服务:
配置云代理服务
调用 setParameters
方法,设置参数 rtc.proxy_server
:
// 使用 proxy_type 设置你想要使用的云代理类型
// 设置 ip or dns 配置该类型对应的消息数据传输节点的域名或 IP 地址
setParameters("{\"rtc.proxy_server\":[proxy_type, \"ip or dns\", port]}");
其中 port
的值填 0
。proxy_type
和 ip or dns
的取值互相关联:
proxy_type |
ip or dns |
---|---|
1 :通过消息数据传输节点的域名进行 UDP 代理 |
消息数据传输节点的域名。默认值为 ap-cloud-proxy.agora.io |
2 :通过消息数据传输节点的 IP 地址进行 UDP 代理 |
消息数据传输节点的 IP 地址,格式为 \"[\\\"ip1\\\", \\\"ip2\\\", \\\"ip3\\\", \\\"ip4\\\"]"\ |
13 :通过消息数据传输节点的域名进行 TCP 代理 |
消息数据传输节点的域名。默认值为 ap-tls-proxy.agora.io |
14 :通过消息数据传输节点的 IP 地址进行 TCP 代理 |
消息数据传输节点的 IP 地址,格式为 \"[\\\"ip1\\\", \\\"ip2\\\", \\\"ip3\\\", \\\"ip4\\\"]"\ |
开启云代理服务
调用 setParameters
方法,设置参数 enable_proxy
:
agora::base::IAgoraParameter* agoraParameter = IRtcConnection::getAgoraParameter();
// true 表示开启云代理服务
agoraParameter->setParameters("{\"rtc.enable_proxy\":true}")
如下示例代码展示如何通过 IP 地址配置白名单:
// 通过 IP 地址进行 UDP 代理,并指定访问区域为中国大陆
agora::base::IAgoraParameter* agoraParameter = IRtcConnection::getAgoraParameter();
agoraParameter->setParameters("{\"rtc.proxy_server\":[2, \"[\\\"140.210.77.68\\\", \\\"125.88.159.163\\\", \\\"106.3.140.194\\\", \\\"106.3.140.195\\\"]\", 0]}
");
// 开启云代理服务
agoraParameter->setParameters("{\"rtc.enable_proxy\":true}");
// 关闭云代理服务
setParameters("{\"rtc.enable_proxy\":false}");
调用 API 加入声网频道并测试是否能正常实现音视频通话或直播功能。
测试完成后,联系 sales@agora.io。声网会为你部署云代理服务正式环境,并提供相应的 IP(域名)和端口。将声网提供的 IP(域名)和端口添加到企业防火墙的白名单上。