新功能
- 升级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系统使用步骤(其他系统需要从下载链接选择对应合适的安装包)
- 下载 njet-2.1.0-1.el7.x86_64.rpm安装包
- 上传文件到待安装主机
- sudo yum localinstall ./njet-2.1.0-1.el7.x86_64.rpm
- 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/