雲服務器搭建coturn之所以測試不通過,大部分的原因都是因為雲服務器沒有開放相應的端口。這裡我們以《WebRTC音視頻技術入門與提高》課程為例,講解應該怎麼在公網搭建coturn。1. 我們要開放的端口我們先列舉下我們要用到的端口
這裡再引申講解,我們在搭建AppRTC時還涉及到443/8090/8088/8089,所以這部分端口也需要開放。2. 雲服務器端口開放規則往下看之前先確定一個知識點,雲服務器的防火墻分兩層:
3. 騰訊雲服務器開放WebRTC開放所需要的端口接下來以騰訊雲為例去搭建coturn服務器(手上沒有阿裡雲的服務器)對於新手來講,建議先把主機系統的防火墻關掉,當然瞭如果你對防火墻配置非常熟悉那你可以在系統防火墻開發相應的端口。centos(可參考):
systemctl status firewalld.service 打印
dfa42444053c1c5098646e6e9f95b1cd
systemctl stop firewalld.service
systemctl disable firewalld.serviceubuntu(可參考):
sudo ufw status
sudo ufw disable第一步,先使用nc命令檢測要使用的端口是否已經開放,比如檢測3478端口nc使用參考:http://www.cnblogs.com/zhaijiahui/p/9028402.html以服務器IP:129.204.197.213 為例簡單的檢測原理:服務器使用nc -l 3478監聽3478端口,然後找一臺linux機器使用nc 命令去連接,具體操作比如:測試3478的TCP是否開放服務器:sudo nc -l 3478客戶端:nc -v 129.204.197.213 3478連接成功時提示Connection to 129.204.197.213 3478 port [tcp/*] succeeded!如果沒有開放那就要去設置雲服務器的安全組瞭。第二步 設置雲服務器的安全組以騰訊雲為例:http://console.cloud.tencent.com/cvm/securitygroup
這裡還有個UDP的端口范圍(coturn做relay時使用)
要確定修改的規則是已經關聯到自己主機的。參考規則:http://cloud.tencent.com/document/product/213/34601將我們需要的端口都開放3478:udp/tcp443:tcp8088:tcp8089:tcp8090:tcp40000-60000:udp
85456d9664c9350448d40575d34ddcce
第三步 啟動coturn的時候帶上min-port和max-port參數,即是sudo nohup turnserver --min-port 40000 --max-port 60000 -L 0.0.0.0 -a -u lqf:123456 -v -f -r http://nort.gov &或者我們可以在前臺啟動coturn進行測試先sudo turnserver --min-port 40000 --max-port 60000 -L 0.0.0.0 -a -u lqf:123456 -v -f -r http://nort.gov第四步 測試coturn是否正常測試網址:http://webrtc.github.io/samples/src/content/peerconnection/trickle-ice具體參考上課的文檔測試stun,測試stun的時候不需要輸入賬號密碼,隻需要輸入stun:
加入後選擇all,可以F12開右邊瀏覽器終端輸出,然後點擊Gather candidates,進行測試,出現done說明stun是起作用瞭。
測試turn,需要輸入turn地址,以turn:開頭,以及賬號密碼,單純測試turn則選擇relay即是
482c6f2e0ac0bae21758d1f61fd914ba
加入後,選擇relay,可以F12開右邊瀏覽器終端輸出,然後點擊Gather candidates,進行測試,出現done說明turn是起作用瞭。
4 附錄4.1 停止coturn服務
如果是ubuntu 請執行命令之前加sudo
下一篇