四层代理比较方便、简单,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 被动模式配置