Pingap v0.7.0 - 基于 Pingora 构建的 Rust 反向代理


Pingap 是类似于 nginx 的反向代理,基于 pingora 构建,简单而高效,支持文件与 WEB 界面的两种配置形式,10 分钟即可完成 https 站点服务配置。最新版本支持了更多的插件,提供了10多组prometheus性能指标,以及提供了基于opentelemtry的链路跟踪模块。

  • 服务支持配置多个Location,通过host与path筛选对应的location,按权重逐一匹配选择
  • 支持正则形式配置重写Path,方便应用按前缀区分转发
  • HTTP 1/2 的全链路支持,包括h2c的支持
  • 基于TOML格式的配置,配置方式非常简洁,可保存至文件或etcd
  • 支持10多个Prometheus指标,可以使用pull与push的形式收集相关指标
  • Opentelemetry支持w3c context trace与jaeger trace的形式
  • 频繁更新的Upstream与Location相关配置调整准实时生效(30秒),其它应用配置更新后,无中断式的优雅重启程序
  • 访问日志的模板化配置,已支30多个相关属性的配置,可按需指定输出各种参数与指标
  • WEB形式的管理后台界面,无需学习,简单易用
  • 开箱即用的let's encrypttls证书,仅需配置对应域名即可
  • 不同域名的tls证书可使用在同一服务端口中,按servername自动选择匹配证书
  • 支持各种事件的推送:lets_encrypt, backend_status, diff_config, restart等等
  • 丰富的http插件,如高效的缓存服务组件、多种压缩算法的压缩组件、不同种类的认证组件、不同形式的限流组件等等
  • 提供了不同阶段的统计数据,如upstream_connect_time, upstream_processing_time, compression_time, cache_lookup_time  cache_lock_time

处理流程

源代码基于 Apache-2.0 开源,可查阅源码库:https://github.com/vicanso/pingap


相關推薦

2024-07-15

Pingap 是类似于 nginx 的反向代理,基于pingora构建,简单而高效,支持文件与 WEB 界面的两种配置形式,10 分钟即可完成 https 站点服务配置。 特性 服务支持配置多个Location,通过host与path筛选对应的location 正则形式重写Pat

2022-09-17

但现在,他们宣布已将 Nginx 替换为其内部由 Rust 编写的 Pingora 软件,“我们已经建立了一个更快、更高效、更通用的内部代理,作为我们当前和未来产品的平台”。 根据介绍,该软件每天可处理超过一万亿个请求,并可在只使

2023-03-01

曾报道过,Cloudflare 将 Nginx 替换为内部采用 Rust 编写的 Pingora,目标是构建一个更快、更高效、更通用的内部代理,用作 Cloudflare 当前和未来产品的平台。不过 Cloudflare 的基础设施非常庞大,并且包含许多不同的服务。 近日,Cl

2023-10-28

已实现初步的反向代理支持,包含主动式健康检查,四层代理,七层代理,及配置的热加载等功能 wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器, 后续将实现websocket代理, 内外网穿透等, 会将实现过程分享

2023-11-04

控制, 可限制某一请求占用过多流量   已实现初步的反向代理支持,包含主动式健康检查,四层代理,七层代理,及配置的热加载等功能 wmproxy 将用 Rust 实现 http/https 代理,socks5 代理,反向代理,静

2023-12-09

口重构 wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子   📦 安装 & 🏃 使用 &nbs

2024-02-08

 Rust 实现 http/https 代理,socks5 代理,反向代理,负载均衡,静态文件服务器,四层 TCP/UDP 转发,内网穿透,后续将实现 websocket 代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子 📦 安装 &a

2023-12-02

KCL 是一个 CNCF 基金会托管的面向云原生领域开源的基于约束的记录及函数编程语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于围绕配置的模块化、扩展性和稳

2024-01-20

加简单   wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 负载均衡, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子 📦 安装 & 🏃 使用

2023-12-23

增]) wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 负载均衡, 静态文件服务器,四层TCP/UDP转发,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子 📦 安装 & 🏃 使用

2023-12-30

wmproxy wmproxy 已用 Rust 实现 http/https 代理,socks5 代理,反向代理,负载均衡,静态文件服务器,四层 TCP/UDP 转发,内网穿透,后续将实现 websocket 代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子 项目地址 国内: h

2022-09-21

入 Linux 内核 Cloudflare 放弃 Nginx,使用内部 Rust 编写的 Pingora GStreamer 准备将 Rust 编写的插件作为其官方二进制版本的一部分发布 Rust 成立专门的安全团队 Asahi Linux 计划使用 Rust 编写 Apple 芯片的 GPU 驱动程序 GCC Rust 得到 GCC

2023-01-19

级代理,通过外部 API,HTTP (S),SOCKS5,SPS 代理可以实现基于用户或者 IP 的限速,连接数限制,动态获取上级。 灵活的上级分配,HTTP (S),SOCKS5,SPS 代理可以通过配置文件实现基于用户或者 IP 的限速,连接数限制,指定上级。

2023-01-10

级代理,通过外部 API,HTTP (S),SOCKS5,SPS 代理可以实现基于用户或者 IP 的限速,连接数限制,动态获取上级。 灵活的上级分配,HTTP (S),SOCKS5,SPS 代理可以通过配置文件实现基于用户或者 IP 的限速,连接数限制,指定上级。