我正在尝试在 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 官方文档。
不确定我做错了什么。