http7层代理软件 httpgate
本程序正式名称为httpgate,顾名思义http的大门,所有的http请求都要通过httpgate。httpgate为web server及后端的业务逻辑提供良好的保护功能,最大限度屏蔽恶意访问。同时,针对apache,httpgate能够与客户端保持大量的长连接,提高了系统的整体性能。
1.3 简介
httpgate是一个http 7层代理软件,专注于http代理及http防攻击,具备如下特点:
1. 采用事件驱动、异步、非阻塞的设计模式。性能优秀,开启http防攻击的情况下,性能接近nginx
2. 对客户端ip和客户端cookie的访问情况进行统计,支持基于客户端ip和客户端cookie的防攻击。
3. 代理层采用读取转发的方式,有效保护后端web server
4. 支持ip白名单,黑名单
5. 支持细致的客户端连接参数配置,可针对不同的应用类型、可能的攻击方式,配置不同的参数,提升攻击的代价。比如客户端连接超时、客户端写入超时、客户端读取超时。
6. 支持后端web server健康检查、故障冗余、rr/iphash负载均衡
7. 支持客户端长连接
8. 支持基于域名,url,cookie分流
2 总体设计
2.1 系统的总体功能需求
2.1.1 系统输入数据
1. 用户访问web服务时,由httpgate抽取用户访问应用服务器时相关信息,包括:IP址地,代理IP地址,用户的cookie,用户的连接时间,读取时间,写入时间,连接频度等
2. 白名单、黑名单列表
2.1.2 系统输出数据
1. 关闭客户端的连接
2. 重置客户端的连接
3. 输出客户端被封禁的信息
2.1.3 系统处理功能
1. 抽取用户的访问规则,包括ip的访问频度,cookie的访问频度
2. 对抽取的数据进行实时分析/计算,并根据预先定义的规则采取封禁或放行
3. 对抽取的ip数据进行过滤,如果ip在白名单种,则进入cookie数据过滤。如果ip在黑名单中,则直接重置连接。
4. ip白名单、黑名单修改之后,发送SIGUSR1信号可以重载。
2.1.4 系统性能要求
1. 效率要求:单机支持20亿以上的日pv,qps达到3w以上
2. 可靠性要求:判断误差率<0.05%
3. 稳定性要求:稳定性99.96%以上
4. 可扩展性:
目录 返回
首页