对于使用 Ant Media Server 的扩展解决方案,我们在使用负载均衡器时如何将 IP 列入白名单?如您所知,负载均衡器 IP 动态变化,Ant Media Server 现在可以将域名列入白名单吗?应该怎么设置?
2 回答
对于此请求,您有 2 个选择。
选项 1 - 使用 REST 方法设置 IP 过滤器
第 1 步- 删除以下代码片段/AMS_DIR/webapps/root/WEB-INF/web.xml
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>io.antmedia.console.rest.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
第 2 步- 使用以下支持 GET 方法的 REST 方法请求应用程序设置
http://domain-address.com:5080/rest/getSettings/WebRTCAppEE
返回该应用程序的设置对象。
第 3 步- 在设置对象中添加/编辑remoteAllowedCIDR
字段,并将设置对象发送到以下 REST 方法。
http://domain-address:5080/rest/changeSettings/WebRTCAppEE
请求类型:POST
内容类型:应用程序/json
您可以将逗号分隔的 CIDR 表示法或 IP 地址添加到 remoteAllowedCIDR。例如:
remoteAllowedCIDR=127.0.0.1,12.44.55.3/24,192.123.33.66
注意:您可以更改请求 https、端口地址、WebRTCAppEE 之类的应用程序
选项 2 - 使用 MongoDB 设置 IP 过滤器
第 1 步- 更新-> ->中设置对象中的settings.remoteAllowedCIDR
和字段。此外,您可以将 MongoDB 与服务连接。updateTime
MongoDB
clusterdb
AppSettings collection
a-您可以settings.remoteAllowedCIDR
像上面一样更改
b- 您还应该更新该updateTime
字段。您可以以毫秒为单位设置当前时间(System.currentTimeMillis())。让我提供一些关于为什么我们需要更新 updateTime 的更多信息。
每个 AMS 都会定期检查updateTime
AppSettings 中的字段以更新应用程序设置。因此,在更新remoteAllowedCIDR
字段之后,您需要更新updateTime
字段以让每个节点自行更新。
注意:在 clusterdb 中,应用程序设置作为集合存储在 MongoDB 中。
您还可以查看以下有关 MongoDB 事务和 AppSettings 类的文档:
https://docs.mongodb.com/manual/core/transactions-in-applications/
在这种设置中,我建议在负载均衡器级别使用安全性。
在 Ant admin 中禁用 IP 安全的快速选项是放置一个0.0.0.0/0
通配符。