添加Nginx ALG模块支持FTP协议ALG

概述

本文系原创,同时发布于F5社区

Nginx从1.9.0开始加入了stream模块支持四层的代理,转发和负载均衡。但是,stream模块的功能相对简单。对需要ALG处理的协议比如FTP的支持也远远不够。

我试着去修改了Nginx 的源代码,使之支持了FTP PORT模式和Passive模式的ALG功能。并且结合vsftpd进行了测试。 Github的源码地址为:https://github.com/pei-jikui/nginx-alg 。

可能大家会说,Passive模式不需要ALG。准确的说,Passive模式下,如果ftp client到server路由可达,可以不需要ALG。但是在client到server路由不可达的情况下,Passive模式也必须有ALG的支持。

代码修改更多是为了功能实验,代码写得比较粗糙,要想和Nginx本身的代码完全融合起来,还需要一些时间去做修改和打磨。

实验的效果如下:

 图1: FTP被动数据连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值