首页 > 解决方案 > 在代理和从上游读取时,使 NGINX “失败(111:连接被拒绝),udp”

问题描述

我有一个现有的 http/https 反向代理,我想添加原始 tcp/udp 流。使用模块 ngx_stream_core_module 我添加了这个配置:

stream {
    upstream app-udp{
       server 192.168.165.10:50000 max_fails=0;
    }

    upstream app-tcp{
       server 192.168.165.10:50001 max_fails=0;
    }

    server {
        listen  192.168.134.20:6653 udp;
        preread_buffer_size 16k;
        preread_timeout 30s;
        proxy_protocol_timeout 30s;
        proxy_timeout 10m;
        proxy_pass "app-udp";
    }

    server {
        listen  192.168.134.20:6654;
        preread_buffer_size 16k;
        preread_timeout 30s;
        proxy_protocol_timeout 30s;
        proxy_timeout 10m;
        proxy_pass "app-tcp";
    }
}

在后端,我设置了一个回显服务,只是为了将数据包作为重播反弹回来。测试 TCP 非常适合发送和获取响应。然而,UDP 在回显服务对 NGINX 的响应上失败了。Wireshark 显示:

“ICMP:icmp 目标不可达端口不可达”

nginx错误日志显示:

“*352 recv() 在代理和从上游读取时失败(111:连接被拒绝),udp 客户端:192.168.165.10,服务器:192.168.134.20:6653,上游:“192.168.165.10:50000”,来自/到客户端的字节:35/0,来自/到上游的字节:0/35"

我在网上找不到任何关于 NGINX 此类错误的参考资料......可能是什么问题?是否错过了后端网络可能存在问题的 NGINX 上的一些配置?谢谢你。

标签: nginx

解决方案


推荐阅读