Nginx 配置TCP/UDP端口转发
nginx 的功能非常强大,其中作为代理服务器是非常常用的功能,但是之前的nginx代理只能做七层代理,也就说是基于应用层面的代理,TCP层面的代理一般会配合haproxy 来使用。但是自从nginx 1.9 以后通过stream模块实现了tcp 代理功能,无需其他软件配合即可实现四层代理和七层代理,即:访问该服务器的指定端口,nginx就可以充当端口转发的作用将流量导向另一个服务器,同时获取目标服务器的返回数据并返回给请求者。nginx的TCP代理功能跟nginx的反向代理不同的是:请求该端口的所有流量都会转发到目标服务器,而在反向代理中可以细化哪些请求分发给哪些服务器;另一个不同的是,nginx做TCP代理并不仅仅局限于WEB的URL请求,还可以转发如memcached、MySQL等点到点的请求
环境
ip | 主机名 | 端口 | 说明 |
---|---|---|---|
192.168.1.101 | node1 | 3389 | nginx服务器 |
192.168.1.102 | node2 | ~ | 客户端 |
8.8.8.8 | ~ | 389 | 目标服务器 |
1.安装nginx服务
1.1 安装nginx
默认安装stream模块,我写文档时nginx版本为1.14.0
参考: