OpenNJet v3.0.0 已经发布,云原生应用引擎

2024年 6月 27日 90.3k 0

OpenNJet v3.0.0 已经发布,这是一个云原生应用引擎。

此版本更新内容包括:

新功能

  • 动态证书吊销列表更新
  • 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/

详情查看:https://gitee.com/njet-rd/njet/releases/v3.0.0

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论