UDP LoadBalancer usando Nginx para CoTURN

UDP LoadBalancer usando Nginx para CoTURN

Estou tentando adicionar um Nginx UDP LoadBalancer na frente do CoTURN.

  • Ejabberd instalado em uma VM
  • Nginx instalado em uma VM
  • Coturn instalado em uma VM

Configuração 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 funciona bem quando usado diretamente junto com ejabberd. Todas as portas necessárias estão abertas na Política de Segurança. Mas o nginx não está passando os dados para o upstream. Eu segui a documentação oficial do nginx.

Não tenho certeza do que estou fazendo de errado.

informação relacionada