You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改nginx.conf监听UDP端口并将收到的报文转发到指定IP地址

核心错误原因

你配置的核心问题是stream块的层级错误:stream是和events、http平级的顶级配置块,不能嵌套在http块内部,这是你NGINX服务启动失败的直接原因。


前置检查

首先确认你的NGINX版本已编译包含stream模块:Windows环境下进入NGINX安装目录,CMD执行nginx.exe -V,查看输出中是否存在--with-stream参数,无此参数需要下载包含stream模块的NGINX发行版。


正确配置示例

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

# stream块为顶级块,和events、http平级
stream {
    server {
        # 替换为你需要监听的本机指定IPv4地址,同时指定UDP协议和10000端口
        listen 你要监听的本机IPv4:10000 udp;
        # 替换为目标转发的IPv4地址和对应端口
        proxy_pass 目标IPv4:目标端口;
        # UDP流量可选优化配置,避免无效连接占用资源
        proxy_timeout 10s;
        proxy_responses 1;
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #error_page  404              /404.html;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

配置验证与生效

修改配置后先执行nginx.exe -t检查配置语法,输出test is successful后再重启NGINX服务即可生效。

额外注意事项

需同时放开Azure VM网络安全组的UDP 10000端口入站规则,以及Windows系统防火墙的对应端口入站规则,否则流量无法正常到达NGINX。


内容的提问来源于stack exchange,提问作者scott_lotus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:54:04