关闭

Nginx 配置 多个VSFTP的loadbalance

标签: Nginx VSFTPloadbalance
1012人阅读 评论(0) 收藏 举报

Nginx是个Reverse Proxy,具体干什么的就不多说了,好处是哪些,也不多说了

该方案是2个FTP的实例:

FTP1:192.168.0.3

FTP2:192.168.0.4

1个Nginx实例

内网IP:192.168.0.2

公网IP:23.75.23.40



Nginx 绑定外网IP 23.200.85.32,监听21端口,把数据转发到FTP1,和FTP2的实例上,按照默认的round-robin进行负载均衡

stream {
    server {
        listen  23.200.85.32:21;
        proxy_pass ftp_cluster;
        proxy_buffer_size 16k;
    }
   upstream ftp_cluster{
        zone ftp_cluster 64k;
        server 192.168.0.3:21;
        server 192.168.0.4:21;
    }
}


VSFTP配置

根据FTP协议,FTP将使用2种端口:

1控制端口:21 ,当你登录,或者改变目录,下发拷贝上传等命令使用的是控制端口

2数据端口:随机分配,也可指定。进行数据传输,使用该端口

2种模式:

主动模式:客户端告诉FTP服务器,当前操作分配的数据端口是多少,你来建立连接传输数据

被动模式:FTP服务器告诉客户端,当前操作我监听的哪个端口,你来连接,我将发送数据,在NAT下,被动模式才能工作

当成功登录以后,会把所有的操作发到21端口,然后在响应阶段,再告诉客户端,PASV端口是多少,包如下:

最后在协商的数据端口上进行数据传输,

而每次分配PASV端口都是不一样

所以对于NGINX,它是局域绑定的IP和端口,协议进行代理的,所以如果端口随机分配,那么对于NGINX不好做配置文件

所以在VSFTP的配置里,我们需要加入端口分配规则和proxy_IP 设置

FTP1:配置 (端口范围为10000-10009)

pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10009
pasv_address=23.200.85.32---这个配制成proxy的监听IP

FTP2:配置(端口范围为10010-10019)

pasv_enable=YES
pasv_min_port=10010
pasv_max_port=10019
pasv_address=23.200.85.32


具体部署,可以分配更大的范围,但注意2个FTP的端口范围不要重叠


最后需要在nginx的监听里,加上上述端口的映射,例如

server {
        listen     23.200.85.32:10000;
        proxy_pass  192.168.0.3:10000;

    }

......

 server {
        listen     23.200.85.32:10009;
        proxy_pass  192.168.0.3:10009;
    }

    server {
        listen     23.200.85.32:10010;
        proxy_pass  192.168.0.4:10010; 注意IP地址换了,根据port分配规则

    }

   ......

    server {
        listen     23.200.85.32:10019;
        proxy_pass  192.168.0.4:10019;
    }

这只列出了一部分,有多少个端口就得列出多少个map,并且没有表达式可以实现这个功能

https://forum.nginx.org/read.php?2,267238,267251#msg-267251

如果你不配置nginx,可以加上防火墙的转发规则,也可以实现这个功能






0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:181150次
    • 积分:2633
    • 等级:
    • 排名:第13793名
    • 原创:90篇
    • 转载:4篇
    • 译文:0篇
    • 评论:54条
    文章分类
    最新评论