Windows平台下Nginx-1.13.12传输UDP数据包失败问题咨询
解答:Windows平台Nginx-1.13.12 UDP传输异常问题
先直接说核心原因:你遇到的报错是因为Windows版本的Nginx直到1.19.0才开始支持UDP的stream模块,而你用的1.13.12版本还没有这个功能,所以配置里的udp参数会被识别为非法,触发[emerg]错误。
具体分析
你配置中的listen 5800 udp;指令在Windows版1.13.12里是不被支持的——早期Windows版Nginx的stream模块只支持TCP协议,UDP支持是后续版本才添加的特性,这就是错误日志里提示"invalid 'udp' parameter"的根源。
解决办法
- 升级Nginx版本:把你的Nginx Windows版升级到1.19.0或更高版本,升级后你的现有UDP代理配置就能正常运行,因为新版本已经完整支持UDP的stream代理功能。
- 临时替代方案:如果暂时没法升级,要么放弃在这个版本里使用UDP传输的需求,要么切换到Linux平台的Nginx(Linux版的Nginx更早实现了UDP stream模块支持)。
另外补充一句:你的stream配置本身是没问题的,只要版本兼容,它能正常监听5800端口的UDP请求,并转发到你定义的上游DNS服务器组。
内容的提问来源于stack exchange,提问作者robby
相关产品推荐
相关产品推荐

