nginx - 在代理和从上游读取时,使 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 上的一些配置?谢谢你。
解决方案
推荐阅读
- angular - 使用 SSR 的 Angular 6 路由负载
- c# - 始终在 ScrollViewer 滚动条中显示拇指
- python-3.x - Python3 套接字不起作用 - 石墨
- docker - JHipster - 配置的节点都不可用 Jhipster 5.x ElasticSearch
- laravel - Laravel 本地化资源方法
- sql - 获取在不同列中具有不同值的行组合的计数
- r - 根据类别的单独曲线。从 ggplot 到 plotly
- javascript - 当我尝试以角度使用控制器时,我的页面变为空白
- ios - 从 JSON 响应填充 tableview 部分和行
- javascript - z-index 已应用,但未按顺序堆叠元素