CoTURN 用の Nginx を使用した UDP ロードバランサー

CoTURN 用の Nginx を使用した UDP ロードバランサー

CoTURN の前に Nginx UDP LoadBalancer を追加しようとしています。

  • VMにejabberdをインストール
  • VMにnginxをインストール
  • VMにcoturnをインストール

Nginx 設定:

log_format    basic    '$remote_addr [$time_local] '
                       '$protocol $status $bytes_sent $bytes_received '
                       '$session_time';

# Enable access_log statements for debugging

access_log /var/log/nginx/stream.log basic buffer=32k;

upstream stream_cluster {
#    hash $remote_addr consistent;
    least_conn;
    server 30.40.50.60:3478;
    server 30.40.50.61:3478;
}

server {
    listen 3478 udp reuseport;
    listen 3478;
    #All UDP/TCP traffic will be forwarded to the cluster
    proxy_buffer_size 4096k;
    proxy_responses 0;
    proxy_bind $remote_addr transparent;
    proxy_protocol on;
    proxy_pass stream_cluster;
    allow all;
#    error_log /var/log/nginx/stream.log;
}

coturn は ejabberd と一緒に直接使用するとうまく動作します。セキュリティ ポリシーで必要なポートはすべて開いています。しかし、nginx はデータをアップストリームに渡していません。私は公式の nginx ドキュメントに従いました。

何が間違っているのか分かりません。

関連情報