使用 Nginx 为 CoTURN 提供 UDP 负载均衡器

使用 Nginx 为 CoTURN 提供 UDP 负载均衡器

我正在尝试在 CoTURN 前面添加一个 Nginx UDP LoadBalancer。

  • 在虚拟机中安装 ejabberd
  • 在虚拟机中安装 nginx
  • 在虚拟机中安装 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 官方文档。

不确定我做错了什么。

相关内容