博客

NJet KIC(K8s Ingress Controller) capabilities管理

本文章,重点在于介绍在k8s环境中,使用NJet高级特性时,如何授予相应的能力。而不是介绍Linux capabilities机制和Linux capabilities 在docker中的应用。

Continue reading

OpenNjet LDAP 认证

该功能基于njet 的auth_request 指令,来支持第三方认证,该指令指定一个 uri , 在获取用户请求时,开启subrequest 子请求,发送认证信息到该指定uri 进行鉴权认证……

Continue reading

NJet支持ubuntu软件源方式安装了

NJet 官网APT软件源已上线, 目前支持Ubuntu 18.04/20.04/22.04 amd64 架构的操作系统通过APT源直接安装二进制软件包……

Continue reading

range端口转发模块

该功能的实现依赖于iptables,如果通过rpm包安装,则自动为privilege进程为root启动……

Continue reading

OpenNJet v2.0.0:动态能力迈入全新篇章

在最新发布的v2.0.0版本中,对基础框架进行了大幅优化,增加对HTTP/3的支持,进一步丰富了OpenNJet的生态,动态能力逐渐成熟……

Continue reading

利用 OpenNJet HA Copilot 实现高可用部署 (二)

上一篇文章介绍了 OpenNJet 如何实现高可用配置,这一篇文章介绍下高可用模式下实现集群配置同步的功能。OpenNJet 有很多动态配置的模块,这些动态的配置可以利用我们 HA 模块实现在主备节点之间进行同步……

Continue reading

OpenNJet KIC v1.0 发布!K8s Ingress Controller

OpenNJet KIC(K ubernetes Ingress Controller) 基于 OpenNJet proxy 的动态特性、高性能实现。弥补 nginx 在云原生场景中应用的不足。提供了丰富的流量管理能力,如动态 location、host/path 路由、负载均衡、动态 upstream、金丝雀发布、TLS Termination/SNI 等……

Continue reading

OpenNJet Q&A

为了解决 NGINX 的动态配置问题,OpenNJet 首先实现了一个有多个 CoPilots:CoPilot:Ctrl、 CoPilot:broker、CoPilot:沙箱构建的动态配置框架,再基于这个框架,逐个对现存的模块进行动态化改造……

Continue reading

一文带你了解 OpenNJet KV Store 及实现

OpenNJet 实现了可持久化的键值存储(key-value store)功能,并提供了相应的 API 对键值进行操作……

Continue reading

利用 OpenNJet HA Copilot 实现高可用部署 (一)

在部署服务端应用时,为了实现服务的高可用,常见的一种方案是额外安装 Keepalived, 通过 Keepalived 来监控服务端应用的运行状态,并设置虚拟 IP (VIP), 客户端通过 VIP 访问服务端实例……

Continue reading

基于cpu使用率动态调整worker数量(二):容器环境

我们都知道在启动一个容器的时候一般都会限制该容器可使用的资源,比如cpu、内存等。而启动容器后,容器里相关资源配置文件都是宿主机的资源信息,比如Linux利用Cgroup实现了对容器的资源限制,但在容器内部依然缺省挂载了宿主机上的procfs的/proc目录,其包含如:meminfo, cpuinfo,stat, uptime等资源信息……

Continue reading

基于cpu使用率动态调整worker数量(一):物理机

在实际的业务使用过程中,如何能够做到业务繁忙时让业务快速响应,而在请求量小的时候还能释放多余的机器资源出来,是个比较困难的问题。OpenNJet实现了一种方法,能够基于cpu的使用率动态调整worker进程数量,从而实现刚才的目标……

Continue reading

OpenNJet支持维护proxy_protocol v2了

代理协议(Proxy protocol),是HAProxy的作者Willy Tarreau于2010年开发和设计的一个Internet协议,通过为tcp添加一个很小的包头信息,来方便的传递客户端信息(协议栈、源IP、目的IP、源端口、目的端口等),在网络情况复杂又需要获取用户真实IP时非常有用……

Continue reading

HTTP3_国密支持

通过修改,在QUIC协议支持的加密套件中增加了国密套件TLS_SM4_GCM_SM3,目前可以用支持QUIC协议及该加密套件的客户端访问……

Continue reading

证书动态更新_动态http ssl证书

动态ssl证书支持动态添加ntls(国密证书)、rsa、ecc三种类型证书,动态ssl证书api只支持配置文件中不出现包含变量证书的情况……

Continue reading

如何利用OpenNJet动态配置故障注入

HTTP故障注入,支持中止(abort)来自下游服务的Http请求,和/或延迟(delay)代理请求,一个故障规则必须具有延迟或中止或两者兼有。在将HTTP请求转发到路由中指定的目的地时,可以注入一个或多个故障 ……

Continue reading

动态map_创建自定义变量

NJet配置文件中的map指令,可以在请求处理期间创建变量,并根据指定的键值对映射关系进行值的映射。map 指令可以用于许多场景,例如根据请求的路径生成重写规则、根据请求头判断是否启用缓存、根据查询参数配置不同的后端服务等……

Continue reading

一文带你从了解到搭建 HTTP/3 Web 服务

HTTP/3 的目标则是通过解决 HTTP/2 的传输相关问题,在所有形式的设备上提供快速、可靠且安全的 Web 连接。为此,它使用了一种名为 QUIC 的新传输层网络协议,该协议在用户数据报协议 (UDP) 上运行,而不是以前版本的 HTTP 使用的 TCP……

Continue reading

国密支持_ssl 使用国密加密算法

铜锁国密NTLS支持HTTP和Stream。根据NJet的使用场景,国密支持的场景也细分为Server和反向代理两种场景 ……

Continue reading

njet灰度发布

在应用的新版本测试发布过程中,经常需要先使用部分选定的账号进行验证,待验证完成后,再逐步将业务流量切换到新版本,直至所有流量均切换到新的集群,但这个过程不能影响到业务 ……

Continue reading

upstream_使用域名配置上游服务

在K8s等环境中,上游服务的地址是不固定的,代理必须能够支持配置域名,随时应对上游服务的变化 ……

Continue reading