首页
开源
资讯
活动
开源许可证
软件工程云服务
软件代码质量检测云服务
持续集成与部署云服务
社区个性化内容推荐服务
贡献审阅人推荐服务
群体化学习服务
重睛鸟代码扫描工具
登录
注册
代码拉取完成,页面将自动刷新
Watch
40
Star
594
Fork
40
OpenNJet
/
OpenNJet
Fork 仓库
加载中
取消
确认
代码
Issues
0
Pull Requests
0
Wiki
1
统计
发行版
最新版
v3.1.0
663012b
2024-09-26 11:31
对比
v3.1.0
chenluboTM
**新功能** --- - MQTT 代理功能(巨硬提供) - 集群token信息同步 - Privilege Agent 就绪检测接口 - 集群模式下Master IP和控制面端口的获取接口 - 通用的Go Copilot 模块及配置修改API - 从Etcd 注册中心同步服务列表并更新NJet Upsteam (外部模块) - HTTP3代理功能(京东提供) - HTTP2代理功能(京东提供) - HTTP3国密双证书支持(中金金融提供) - Python wsgi支持 - 动态协议功能及脚本支持(巨硬提供) **功能优化** --- - 集群gossip支持指定网卡发送组播数据 - 主动健康检查优化(server近期访问过可跳过当次健康检查) - 优化 swagger的目录位置(多njet版本共存) - 使用token同步模块保存API Gateway 的登录信息 - API Gateway配置集群同步 - API Gateway 提供接口进行基础参数的配置, user添加domain信息,oasp3.0 导入使用group名称及支持cookie auth认证方式 - tcc 支持selinux 以及 debug选项 - 编译默认铜锁版本调整为8.3 **Bug fix** --- - 集群连接数限制功能( cluster_limit_conn) 在长连接情况下出现无效的情况 - cache加速模块:添加cache配置,最后一个cache 当ctrl 重启时,下载状态错误 - 修复库njetmq编译警告 - Goaccsslog gcc version 9.4.0 debug编译错误。 - 故障注入模块不配置动态编译时,其他模块编译报错修复 - 修复gossip master节点不稳定bug - 修复铜锁不能生成动态库的问题 - 修复goaccess模块生成的临时文件在njet退出后不会清理的问题 - 修复goaccess模块手动配置端口后会导致数据不会及时同步的问题 - 解决openEuler 编译选项-m64, 引起的编译失败的问题。 - 修复当使用长链接访问后端时,删除后端被访问的server会导致死循环的问题。 - 解决配置协议分析时,依赖的头文件选择当前所在目录而非工作目录的问题。 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.1.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.1.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.1.0 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
remove macro define in helper go copilot config file
v3.0.1
816ad22
2024-07-10 17:39
对比
v3.0.1
chenluboTM
**新功能** --- - Goaccesslog 日志统计功能 **功能优化** --- - 支持Tencent OS Server 2, Tencent OS Server 3, Tencent OpenCloud9 操作系统 **Bug fix** --- - 动态VS,http1.1 和 http3 共用一个server 块时,同一个端口,会造成ssl coredump 的bug。 - Rsync Helper: 修复在退出时可能存在僵尸进程,及在特定情况下打开配置文件及生成日志文件错误问题,解决代码中的内存泄露问题。 - 解决了ubuntu系统ssl动态桥接失败的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.0.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.0.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:3.0.1 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
add 空文件夹
v3.0.0
7f4f731
2024-06-27 19:31
对比
v3.0.0
chenluboTM
**新功能** --- - 动态证书吊销列表更新 - http2mqtt 消息代理 - http2kafka 消息代理 - 数据消隐(access日志隐藏敏感信息) - 集群动态桥接 - 集群间文件同步 - 大文件上传 - 集群配置跳转 - Ctrl Copilot 中,支持通过Lua 访问主进程定义的shared_dict - API 网关功能 - 支持用户角色维护,OpenAPI导入,授权关系维护,应用部署,后端服务注册,主动健康检查配置,登录及授权校验 - 动态共享内存支持 - 动态配置proxy_pass - 动态配置header - 协议识别 - captcha - SSL库更新到Tongsuo-8.4 **功能优化** --- - 全量配置api,put 方法逻辑优化。 **Bug fix** --- - 解决了动态配置limit后,返回值存在不可见字符的问题。 - 解决了动态新增VS时,添加未监听的端口会产生垃圾数据的问题。 - 解决了配置空的access_by_lua_block后,通过动态api查询时会导致卡死的问题。 - 解决了手动修改upstream 持久化文件可能会导致server数量异常的问题。 - 解决了upstream中,配置ip的server会被解析成域名和ip的问题。 - 解决了njet 向adc 注册模块reload 时报 open file error:/home/limin/conf/register.json 的问题 - 解决了Kv 固定字符串测试,执行put 操作时,get 查询到的auth_basic 值不正确的问题 - 解决了auth_basic:静态配置file 形式,启动njet 后,动态修改为autu use kv 变量前缀,访问server 时,输入正确用户名和密码后,访问失败的问题 - 动态VS,添加未listen的端口,返回添加失败,但是动态查询时,会在server中添加一个空的server - 手动修改upstream持久化配置文件中,添加域名后,未添加resolve字段,可以启动,启动后再POST新server,配置文件中server数量异常 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 - 在动态location上动态更新proxy_pass后,删除location,再次添加location,reload后,恢复为更新后的proxy_pass, 需要重新再次修改。 - 显示location的api,配置if和limit_except时,存在显示异常 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-3.0.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-3.0.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) captcha安装包是动态验证码模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
Merge branch 'chenlubo/feature/dyn_broker_bridge' into dynconf
v2.1.1
ac344e3
2024-05-07 10:25
对比
v2.1.1
chenluboTM
**Bug fix** --- - njet-helper-dynconf-update-module 默认不编译,该模块会导致privilege进程重启 - 静态文件中已配置access_by_lua_block, 加载动态Lua模块后,location 无法访问问题修复 - debug版本,加载Lua模块 reload 问题修复 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.1.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.1.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
fix: lua module reload core dump
v2.1.0
49bbb73
2024-03-28 14:38
对比
v2.1.0
chenluboTM
**新功能** --- - 升级Nginx core到1.25.3,主要更新有:修复已知bug,支持http3功能,TLSv1.3默认支持,优化mp4与gzip功能等 - 升级Openresty core到Version 1.25.3.1 ,主要更新有 - 支持pcre2 - 支持lua_ssl_certificate和 lua_ssl_certificate_key(不支持国密证书) - lua_http模块升级到0.10.26,修复已知bug,增加TLSv1.3默认支持,性能优化 - lua_stream模块升级到0.0.14,修复已知bug,优化性能 - lua-core升级到 v0.1.28 - 控制面api统一入口: 所有控制面的配置接口都统一使用/api作为配置入口 - udp流量劫持(支持ipv4/ipv6) - auth_basic_kv功能:支持通过api接口操作kv 数据库动态设置auth 验证密码 - Stream 指标采集,支持HTML, JSON及Prometheus 格式输出 - Stream 指标采集动态配置, 支持开关及Filter key 设置 - 动态Lua 脚本配置, 支持content_by_lua 及 access_by_lua 脚本内容动态修改 - 动态location,支持使用if 、limit_except 指令 - 动态http map 功能,添加,删除,修改 动态map。 **Bug fix** --- - 解决了增加dyn_loc,返回json 数据不合法的问题 - 解决了vts 配置stream ,connect.active 指标不正确的问题 - 解决了kv store 的 get 多次调用时,返回的长度不对的问题 - 解决了删除嵌套location时,如果子location正在处理请求,删除该location会导致core的问题 - 解决了添加ssl的VS时会产生异常的问题 - 解决了正在处理请求时,添加删除VS会导致内存泄漏的问题 - 解决了API的回显会被截断的问题 - 解决了在VS中配置的ssl证书地址使用变量时,再进行查询修改时会导致异常的问题 - 解决了在location中添加\n会导致core的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone 指令 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.1.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.1.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
Merge branch 'zhaoyg/feature/dyn_http_map' into dynconf
v2.0.1
ca5eaf0
2024-01-15 14:56
对比
v2.0.1
chenluboTM
**Bug fix** --- - 解决reuseport 引起的access log api 显示listen ip 端口重复的bug - 解决njet启动后,直接访问prometheus 格式的metrics 地址出错的问题 - 解决配置了stream map,多次reload 出现core 的问题 - 解决了vts 配置stream ,connect.active 指标不正确 - 解决了https_cache 模块put 接口add 一个cache 立马del ,产生core 的问题 - telemetry 模块配置 telemetry webserver ,njet -t 报段错误的问题 - telemetry 模块 查询和修改 telemetry 配置core 的问题 **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - HA/MA 配置同步存在延迟,不能在对应节点启动后立即同步 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、if、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone、if 、limit_except 指令 - 因为lua模块目前不支持pcre2,NJet目前不能用pcre2编译 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.0.1-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.0.1-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用 已安装 njet 的 ubuntu , 升级njet 包: sudo systemctl stop njet sudo apt-get update sudo apt install --only-upgrade njet **docker方式运行** --- 可使用如下命令启动运行: docker run -d --rm --privileged tmlake/njet:latest 详细运行方法参考: https://njet.org.cn/cases/njet-docker/
最后提交信息为:
fix sonor
v2.0.0
01973e9
2023-12-29 10:15
对比
v2.0.0
chenluboTM
**新功能:** --- - ftp 反向代理(被动模式)支持 - 通过SNMP接口输出指标 - tcp流量劫持 - 动态API配置流量劫持 - 应用加速 - ADC设备注册功能 - HA/MA集群配置同步功能 - Stream动态Map设置 - 实现配置沙箱功能 - 集成ModSecurityV3,支持location 动态开启及关闭modsecurity - 动态添加VS 功能 - proxy_ssl_alpn 设置alpn 值 - NJet KIC(详细参考KIC release 说明) **功能增强:** --- - KV模块实现删除接口 - 命令式API在应用变更后持久化全量配置 - proxy_pass 指令支持:域名,ip,unix socket - TCP劫持获取实际目标地址优化,支持通过set 赋值给其他变量。 - 动态location 删除时,有业务时延迟删除。 - 动态location 的变量优化。 - 声明式/命令式API先发给配置沙箱进行校验后再应用到worker中 - CoPilot中可以接收、处理消息 - 配置沙箱在reload时,先停止旧进程再启动新的沙箱 - http3/quic协议中支持RFC8998(TLS1_3_CK_SM4_GCM_SM3算法) - 支持CloudOS操作系统x86_64架构下的编译 **Bug fix** --- - CoPilot:ctrl实现的异步api重复处理请求 - sidecar:在一个后端服务失败后,无法选择后续的server - vts: 配置dump指令导致reload时core - 动态location:删除动态location时,子location中的变量删除不掉,会导致内存泄漏 - 配置慢启动后,上游服务器恢复重启,慢启动未生效 - 多次重复更新动态黑白名单出错 - 动态locaiton中,location body和proxy pass均为空,添加不成功 - ubuntu环境,添加动态location时json不正确后,进行reload,存在内存泄漏 - 在动态VS中,添加动态location时,如果servername需要转义,添加时不成功,提示no find server **遗留已知问题** --- - tcp流量劫持基于iptables nat表prerouting添加规则,只针对外部访问(非本机ip)的数据做流量劫持 - HA/MA 配置同步关于命令式api 动态删除location消息同步存在问题 - HA/MA 配置同步存在延迟,不能在对应节点启动后立即同步 - 应用加速功能,删除location后本地缓存文件没有立马同步清理 - 配置沙箱进程,在NJet 可执行文件热升级时,无法在旧的沙箱进程退出后,再启动新的配置沙箱 - 动态VS,只能在存在的listen 上添加VS ,该功能不能创建listen - 动态VS,不支持zone、 location、if、ssl_ocsp、ssl_stapling、quic 指令 - 动态VS,不支持动态创建 新的error_log、access_log 文件 - 动态location,不支持zone、if 、limit_except 指令 - 因为lua模块目前不支持pcre2,NJet目前不能用pcre2编译 - 动态SSL证书添加时必须有初始证书,通过动态VS添加的ssl server,如果未配置初始证书,通过动态ssl接口添加证书会添加失败 **rpm包安装** --- 下面是centos系统使用步骤(其他系统需要从下载链接选择对应合适的安装包) 1. 下载 njet-2.0.0-1.el7.x86_64.rpm安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-2.0.0-1.el7.x86_64.rpm 4. systemctl start njet otel安装包为opentelemetry模块的安装包(如果需要该功能,从下载连接选择对应的安装包安装即可) OpenNJet ubuntu deb安装包基于18.04版本编译,可在ubuntu20、ubuntu22上安装使用
最后提交信息为:
Merge branch 'dynconf' into main
v1.2.3
cb02bd9
2023-11-02 16:02
对比
v1.2.3
chenluboTM
**Bug fix** --- - 修复stream流量劫持功能bug,关于配置njtmesh_dest指令,可能导致stream代理不能正常通信的问题 **rpm包安装** --- 1. 下载 njet-1.2.3-1.el7.x86_64.rpm, njet-otel-1.2.3-1.el7.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.3-1.el7.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.3-1.el7.x86_64.rpm 5. systemctl start njet **其他rpm包说明** --- opennjet-1.2.3-1.ocs9.0.x86_64.rpm 对应OpenCloud9 opennjet-1.2.3-1.tl2.x86_64.rpm 对应Tencent Linux Sever 2, opennjet-1.2.3-1.tl3.x86_64.rpm 对应Tencent Linux Server 3
最后提交信息为:
stream 流量劫持不支持udp,继续做协议识别。
v1.2.2
6e47f9c
2023-10-16 17:20
对比
v1.2.2
chenluboTM
**新功能:** --- - 基于cpu使用率动态调整worker数量(sysguard_cpu) - Proxy protocol V2协议,支持设置TLV 字段值 **Bug fix** --- - 修复配置主动健康检查后,reload会导致进程core的问题 - 动态Map配置,在worker数大于1及重加载时导致进程core的问题 - Location 多表达式,等号后面无空格解析bug。例如:location ($uri =/reviews/0) - sticky_learn 超时删除,core 的bug - upstream 轮询算法bug修改 - debug日志级别下,app_sticky、cluster_limit_conn、cluster_limit_req三个模块存在core的bug - debug日志级别下,动态location 模块存在core的bug - vts 动态api接口关于动态修改vhost_traffic_status_filter_by_set_key指令不生效的问题 - 动态log模块get接口关于escape字段解析有误的问题 **rpm包安装** --- 1. 下载 njet-1.2.2-1.x86_64.rpm, njet-otel-1.2.2-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.2-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.2-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
update src/core/njet.h.
v1.2.1
cb0327c
2023-09-14 10:03
对比
v1.2.1
chenluboTM
**新功能:** --- - 动态ssl证书支持rsa、ecc、ntls(国密)三种证书 - 动态http map 键值映射关系配置 **增强:** --- - 健康检查去重,对同一个upstream下重复的server只检查一次 - 动态ssl证书功能方案更新,先发送worker0验证,成功后再由其他worker进行更新 - Upstream api schema 改造。 - slow_start 慢启动功能改造。 **Bug fix** --- - 修复json schema分配未初始化问题 - Vts 权重显示bug - Sticky Learn 会话保持,超时删除bug **rpm包安装** --- 1. 下载 njet-1.2.1-1.x86_64.rpm, njet-otel-1.2.1-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.1-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.1-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
feat dynmap and dyn ecc cert, some bug hotfix
v1.2.0
614054d
2023-08-28 10:37
对比
v1.2.0
chenluboTM
**新功能:** --- - 故障注入 支持延迟故障注入、状态码故障注入、延迟和状态码故障注入同时设置 - api动态故障注入 能够通过api接口动态的设置故障注入 - 支持http3/quic协议 - 提供http3测试工具,可在Gitee(https://gitee.com/njet-rd/http3-tools)下载 **增强:** --- - Json与结构体转换采用 Json schema,能够增强代码健壮性 - 动态ssl证书幂等性支持,多次动态添加相同的ssl证书,会提示证书重复错误 - 控制面API接口ACL控制 - 声明式API全量配置持久化 - 支持OpenEuler操作系统aarch64及x86_64架构下的编译 **Bug fix** --- - 解决upstream server 异常,选择下一个server时,转发消息丢失body 的bug。 - 解决了server中同时配置127.0.0.1和0.0.0.0时,不能对127.0.0.1和0.0.0.0中任意添加动态location的问题。 - 解决了动态模块部分添加成功时,打印多余日志的问题。 - copilot reload 造成的,channel 报recvmsg returned invalid ancillary 的问题。 - split_clients_2后端比例填写100和0时, sample 函数的处理逻辑问题。 **遗留已知问题:** --- - 动态ssl证书功能动态添加多个证书,reload后重新动态加载顺序不一致问题 - 动态ssl证书功能只支持配置文件中非变量证书(证书路径存在变量)的情况 - split clients 模块边界条件(后端server配置比例小于100%, 中间配置*,不配置后端server比例)时, 进行动态更新时,提示的错误信息有问题 **rpm包安装** --- 1. 下载 njet-1.2.0-1.x86_64.rpm, njet-otel-1.2.0-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.2.0-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.2.0-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
update README.md.
release_v1.1.2
55ffbb8
2023-07-24 15:11
对比
v1.1.2
chenluboTM
**增强:** --- - 增加VTS新指标,包括1)上游服务器timeout次数统计;2)反向代理转发请求前延迟时间统计,按50%,99%,99.9%,99.99%,99.999%这5个百分位进行统计; - helper api 调用动态接口默认采用短连接。 **Bug fix** --- - 修复重启时持久化消息的接收顺序问题,动态location 将先于其它动态模块接收到消息。 - 修复sendmsg模块造成的内存泄漏问题。 - 修复通过动态location新增 limit_rate,再通过动态limit修改limit_rate。产生的core问题 - 修复location变量条件判断时多出一个右括号")",无法对多出的右括号进行处理的问题 - 修复doc模块swagger页面多次执行会导致卡死的问题。 - 使用相同的 prefix, 同时启 会出现 double free 问题 - 修复编译脚本丢失 -lpcre **rpm包安装** --- 1. 下载 njet-1.1.2-1.x86_64.rpm, njet-otel-1.1.2-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.1.2-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.1.2-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
update README.md.
release_v1.1.1
e02aa21
2023-07-10 17:27
对比
v1.1.1
chenluboTM
**新功能** --- - 动态ssl证书功能由声明式api改为命令式api - 配额(limit conn、limit rps、limit rate)功能声明式api动态化配置 - 组播gossip构建集群功能; - 基于组播实现app_stickey 会话同步功能 - 基于组播实现limit connection集群连接数限制功能 - 基于组播实现limit rps集群请求数限制功能 - 动态调整worker进程数量 - 提供HA Copilot模块,Njet多个实例间支持VIP的配置 - copilot框架支持helper进程在reload时可以不重启,同时强制要求相关的helper指令在配置文件中要保留 - 国密支持stream **增强:** --- - 健康检查模块添加检查项时添加对proxy_pass直接路由的upstream过滤. - vts性能优化 **Bug fix** --- - 动态accesslog模块,解决了多次配置动态accesslog会导致内存溢出的问题。 - 动态accesslog模块,解决了修改accesslogOn开关导致的coredump问题。 - 修改了配置主动健康检查时,缺少stream模块会导致core的问题。 - 修改了使用错误的方法配置健康检查会导致core的问题。 - 修改了在配置文件中配置错误的健康检查参数后,日志无报错的问题。 - upstream_api模块,解决了state持久化功能stream模块njet重启前state持久化文件中有server,server无法修改的bug - upstream_api模块,解决了新增server时weight默认值为100的bug - dyn_location模块,解决了文件下载时删除对应的location会导致core的问题 - dyn_location模块,解决了表达式方式下location删除功能无法正常使用的问题 - dyn_location模块,解决了表达式方式下location_name完全一致时,启动会导致core的问题 - dyn_location模块,解决了表达式方式无法使用ssl相关功能的问题 - 修复集群模式下,在njet运行中,zone空间达到上限后,产生core问题 - 修复集群模式下,zone name相同的情况下,njet启动成功产生core问题 - 修复集群模式下,njet接收大批量请求,连接不释放,产生core问题 - 修复集群模式下,node 已配置gossip,更新一个节点配置,其他节点配置未全一致时,产生core问题 - 修复集群模式下,配置多zone,产生core问题 - 修复njet某些模块,proxy_pass 配置为ip,解析失败,产生core问题 - 修复动态ssl,入参为空数组时,产生core问题 - 修复动态ssl,错误的入参,每请求一次,crl进程重启一次 - 修复动态telemetry,入参为空数组时,产生core问题 - 修复动态lmit_conn、limit_req, 限制指令配置在http,location继承后,能通过动态API修改了http区域的限制指令 **rpm包安装** --- 1. 下载 njet-1.1.1-1.x86_64.rpm, njet-otel-1.1.1-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.1.1-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.1.1-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
update README.md.
release_v1.1
d3d0056
2023-05-24 11:16
对比
v1.1
chenluboTM
**新功能** --- - 主动健康检查模块:支持健康检查状态持久化; - 主动健康检查模块:支持上线前的强制检查; - 轮询负载均衡算法优化:支持慢启动,把流量逐渐发送给新上线的server; - hash, random算法优化,支持成员的动态添加、删除、update; - 动态配置 web server模块的telemetry开关。 - location 多表达式支持,支持与,或,非,以及混合组合 **增强:** --- 定义新的V2 版本动态配置API ,动态配置在应用变更失败时有详细的错误返回,对不支持的动态配置项返回说明: - 动态日志配置应用config V2接口; - 动态ssl证书支持congfig V2接口; - telemetry proxy & webserver 支持config V2接口; - 按比例分流模块支持新的config V2接口; - 动态黑白名单支持新的config V2接口; - doc/swagger接口统一升级为V2; - swagger页面增加 telemetry webserver模块的api yaml; - 基础SSL向铜锁迁移,以满足国密认证需要及后续的HTTP3支持; - HTTP协议国密支持; - 动态ssl证书支持铜锁; - 主动健康检查支持铜锁; - 增强了RSA/EC双证书支持; - 动态日志模块: 动态配置最多可添加16种format; - 基础框架配置简化,无需复杂的broker/message配置文件; - 按比例分流模块(splitclient2)增加动态配置时的业务校验: upstream比例和必须为100%,比例不能为非数值; - 动态location优化:添加,删除location 时,返回成功,或失败以及错误原因; - 动态location优化:添加location 时,先由一个worker进行校验,成功后其它worker再执行; - 动态location接口优化:对接口json属性进行校验。 **Bug fix** --- - 动态日志解决了在设置format时导致worker coredump的问题 - 声明式api 解决了path超过四级导致coredump问题 - 动态accesslog 模块解决了因escape未初始化的导致内存分配失败的问题 - doc_api模块解决ctrl启动慢bug - 动态SSL模块解决输入空json导致的core dump - 动态telemetry proxy & webserver 模块 解决输入空json导致core问题 - 主动健康检查模块解决配置持久化的问题 - 动态location fix: reload 会导致动态添加的location内存泄漏 - vts数据面模块解决了不配置vhost_traffic_status_zone指令时发起API请求返回错误json数据的问题 - vts动态配置模块解决了时变量后紧跟等号(如:$request_uri=)报错的这一类相关问题。 **rpm包安装** --- 1. 下载 njet-1.0.0-1.x86_64.rpm, njet-otel-1.0.0-1.x86_64.rpm 安装包 2. 上传文件到待安装主机 3. sudo yum localinstall ./njet-1.0.0-1.x86_64.rpm 4. sudo yum localinstall ./njet-otel-1.0.0-1.x86_64.rpm 5. systemctl start njet
最后提交信息为:
feat njet1.1 release
release_v1.0
9cff13f
2023-03-29 17:31
对比
v1.0
chenluboTM
下载release包解压 启动命令: sh start.sh 停止命令: sh stop.sh
最后提交信息为:
update:remove memory check
下载
请输入验证码,防止盗链导致资源被占用
取消
下载