Nginx TCP端口转发
需求1、2归结起来说就是对TCP流量转发,nginx 原生支持tcp流量转发。
比如我A服务器(192.168.1.100)是网关设备,有公网访问能力;B(192.168.1.101)、C(192.168.1.102)服务器是内网服务器;想通过A服务器将请求转发到B、C服务。具体配置如下:
stream{
server{
listen 0.0.0.0:10190 udp;
proxy_responses 0;
proxy_timeout 2s;
proxy_pass proxy_b;
}
server{
listen 0.0.0.0:10191 udp;
proxy_responses 0;
proxy_timeout 2s;
proxy_pass proxy_c;
}
upstream proxy_b{
server 192.168.1.101:10290;
}
upstream proxy_c{
server 192.168.1.102:10290;
}
}
该配置需要再ngxin模块中配置。通过上面的配置,就能将A服务器的10190转发到B服务器的10290,A服务器的10191转发到C服务器的10290。