这个有个优点,nginx效率更高,还能不安装firewalld/iptables之类的东东,还有我的内核比较旧,跟firewalld有些致命冲突
nginx需要编译--with-stream
简单配置如下:监听本机65500-65507的tcp ipv4/ipv6端口,转发至本机的65535端口,并且65500-65505启用长连接,关闭延时转发。
注意 stream{} 需要在 http{}这一段的前面,并且与http是同级的。
stream {
server {
tcp_nodelay on;
so_keepalive=on;
listen *:65500 so_keepalive=30m::10;
listen *:65501 so_keepalive=30m::10;
listen *:65502 so_keepalive=30m::10;
listen *:65503 so_keepalive=30m::10;
listen *:65504 so_keepalive=30m::10;
listen *:65505 so_keepalive=30m::10;
listen *:65506;
listen *:65507;
#proxy_responses 1; 没转发udp端口就注释掉这行,有转发UDP端口,就不注释
proxy_connect_timeout 3s;
proxy_timeout 3s;
proxy_pass 127.0.0.1:65535;
}
http{
省略若干
}
默认使用tcp转发,如果需要转发udp,改成listen *:65500 udp
,可以同时监听tcp和udp。