rfc5766-turn-server TURNサーバーをここからwebRTC用にセットアップしようとしています。turnuserdb.conf
ユーザー名とパスワード (my_user_name:my_password)を含むファイルを使用して、この TURN サーバーを介してビデオを正常に中継することができました。そして、私が使用したWebクライアント側で:
"iceServers":{[
"url": "turn:my_user_name,@turn_server_ip",
"credential":"my_password"
}]
TURN サーバーに付属の REST API 機能を使用して、パスワードをネットワーク経由で送信したり、クライアント側に保存したりしないようにしようとしています。Rest APIの下でこの仕様 とこの説明に従いました
残念ながら、401が返されて認証できません。
これが私が正確にしたことです:
シークレット「my_secret」を作成し、次のようにターン サーバーを実行しました。
turnserver -v --syslog -a -L xx.xxx.xx.xx -X yy.yyy.yyy.yy -E zz.zzz.zz.zzz --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --static-auth-secret=my_secret --realm=north.gov --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout -q 100 -Q 300 --cipher-list=ALL
(IPアドレスをに置き換えただけです
xx.xxx.xx.xx
yy.yyy.yyy.yy
zz.zzz.zz.zzz
)その後、+ 1 時間になるタイムスタンプを生成したので、nodejs で実行しました。
Date.now()+1000*60*60; // output 1433895918506.
このウェブサイトで一時的なパスワードを生成しました, 私の秘密を使用して、結果を得ました
0ca57806bdc696b3129d4cad83746945b00af77b
パスワードをbase64にエンコードしました。
1433895918506:my_user_name
ここで、一時的なユーザー名 :とパスワード:を使用して、Web クライアントからターンサーバーとの通信をログに記録しようとしましたがMGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg==
、現在使用している Web クライアントで"iceServers":"url":"turn:1433895918506:my_user_name@turn_server_ip","credential":"MGNhNTc4MDZiZGM2OTZiMzEyOWQ0Y2FkODM3NDY5NDViMDBhZjc3Yg=="}]
しかし、うまくいきません。
401 user <1433895918506:my_user_name> incoming packet message processed, error 401: Unauthorised.
何が問題なのかを理解するのを手伝ってもらえますか?