1.需求背景
2.安装nginx
这里补充下:因为代理ftp端口需要用到nginx的stream模块,所以在配置nginx的时候需带上参数:
--with-stream
核心配置:
stream {
upstream ftpServer {
server 172.16.2.30:40000 max_fails=3 fail_timeout=5s weight=1;
}
#转发控制连接请求
server {
listen 34000; #监听端口
#失败重试
proxy_next_upstream on;
proxy_next_upstream_timeout 0;
proxy_next_upstream_tries 0;
#超时配置
proxy_connect_timeout 1s;
proxy_timeout 10m;
#限速配置
proxy_upload_rate 1024k;
proxy_download_rate 2048k;
#上游服务器
proxy_pass ftpServer;
}
upstream ftp_pasv1 {
server 172.16.2.30:40001 max_fails=3 fail_timeout=5s weight=1;
}
upstream ftp_pasv2 {
server 172.16.2.30:40002 max_fails=3 fail_timeout=5s weight=1;
}
upstream ftp_pasv3 {
server 172.16.2.30:40003 max_fails=3 fail_timeout=5s weight=1;
}
#转发数据连接请求
server {
listen 34001;
proxy_pass ftp_pasv1;
}
server {
listen 34002;
proxy_pass ftp_pasv2;
}
server {
listen 34003;
proxy_pass ftp_pasv3;
}
}
3.安装vsftp
查看vsftp安装
核心配置:
#关闭DNS反向解析,提高登录验证速度
reverse_lookup_enable=NO
#监听端口
listen_port=40000
#被动模式,开启
pasv_enable=YES
#数据传输端口最小值
pasv_min_port=40001
#数据传输端口最大值
pasv_max_port=40003
#允许连接用户在根目录写操作,开启
allow_writeable_chroot=YES