四层代理比较方便、简单,nginx.conf 如下

#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 {
#9501 端口将以4层TCP协议方式转发至后端app_sever;
server {
listen 9501;
proxy_pass app_server;
}
upstream app_server{
server 172.16.0.248:9511;
#server 172.22.0.45:30028;
}

#代理socket
server {
listen 9301;
proxy_pass socket_server;
}
upstream socket_server{
server 172.16.0.248:9311; #发布socket1服务端
}

#代理FTP
server {
listen 8666;
proxy_pass ftp_server;
}

upstream ftp_server{
server 172.16.0.248:21; #FTP要设成被动模式,指定端口范围(大于>1024),配置防火墙,否则会被防火墙拦截
}
}

 

FTP 被动模式配置

Nginx 四层代理配置_TCP