我已经使用Docker设置了一个本地Kurento MediaServer,并在我的家庭网络上本地测试了提供的应用程序。但是在我的工作场所,它不起作用。客户端可以访问Web应用程序,但我认为无法从安装网络外部访问媒体服务器IP地址。如何将提供的媒体服务器从 Kurento 与 Docker 部署到 EC2 实例?
是的,但由于您落后于 NAT,因此您需要在 KMS 中配置 STUN 服务器。您可以在配置文件中取消注释引用 STUN 服务器的行/etc/kurento/kurento.conf.json
"WebRtcEndpoint" : {
"stunServerAddress" : "173.194.66.127", // Only IP address are supported
"stunServerPort" : 19302
// turnURL gives the necessary info to configure TURN for WebRTC.
// 'address' must be an IP (not a domain).
// 'transport' is optional (UDP by default).
// "turnURL" : "xxx:xxx@12.20.173.78:3478"
// "pemCertificate" : "file"
},
我建议你花一些时间研究WebRTC,以及为什么在某些情况下需要STUN/TURN服务器
除了与 NAT/STUN/TURN 相关的问题之外,您还需要重新考虑在生产中执行此操作,因为 Docker 和 UDP 并不是幸福的婚姻,因为 UDP 访问需要正常跨越多个端口。您可以使用 --net 到主机来解决这个问题,但显然这会给安全性和可能的服务冲突带来一些代价。