為WebRTC 應用部署Turn Server
[轉載請註明出處]
部署WebRTC 或 SIP p2p 方案時經常會遇到p2p 無法穿透的環境,
這時就是TunServer 的用武之地了。
這裡我們使用turnserver-0.7.3
下載confuse依賴庫
wget http://savannah.nongnu.org/download/confuse/confuse-2.7.tar.gz
tar zxvf confuse-2.7.tar.gz
cd confuse*
./configure
make && make install
下載
wget http://downloads.sourceforge.net/project/turnserver/turnserver-0.7.3.tar.bz2
tar jxvf turnserver-0.7.3.tar.bz2
cd turnserver*
./configure
make && make install
編輯配置檔案
將extra 中的配置檔案模版拷貝到/etc目錄下,假設您的ip 是 1.2.3.4
1,配置檔案
cp extra/turnserver.conf.template /etc/turnserver.conf
vi /etc/tunserver.conf
修改
listen_address = { "1.2.3.4" }
修改 ## Daemon mode.
daemon = true # 修改為後臺服務方式
修改頻寬限制
## Allocation bandwidth limitation (in KBytes/s).
## 0 value means bandwidth quota disabled.
bandwidth_per_allocation = 1024
## Restricted user bandwidth (in KBytes/s).
## 0 value means bandwidth limitation disabled.
restricted_bandwidth = 0
## Account file (if account_method = file). 指定認證檔案路徑
account_file = "/etc/turnusers.txt"
2,認證使用者檔案
cp extra/turnusers.txt.template /etc/turnusers.txt
新增一行或多行認證資訊格式為 使用者名稱:密碼:domain:authorized 例如下面的行: 700:700pass:domain.org:authorized
啟動 TurnServer, 執行命令 turnserver 新增完成後,就可以在webrtc 裡面使用stun 和tun server 了。 var configuration = {
'iceServers': [{
{ 'url' : 'stun:1.2.3.4'} , { 'url' : ‘turn:[email protected]',credential : '700pass'}
}]
};