mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-12 10:16:37 +08:00
docs(readme): update project description and deployment instructions
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ import {type DefaultTheme, defineAdditionalConfig} from 'vitepress'
|
|||||||
|
|
||||||
export default defineAdditionalConfig({
|
export default defineAdditionalConfig({
|
||||||
description:
|
description:
|
||||||
'OpenFlare 是轻量、自托管的 OpenResty 控制面,用于管理反向代理、配置发布、节点同步、TLS 证书与基础观测。',
|
'OpenFlare 是新一代分布式反向代理与边缘安全网关,为多节点 OpenResty / Nginx 提供集群编排、Zero-Reload 动态配置同步、边缘 WAF、PoW 防 CC 盾与内网穿透。',
|
||||||
|
|
||||||
themeConfig: {
|
themeConfig: {
|
||||||
nav: nav(),
|
nav: nav(),
|
||||||
|
|||||||
@@ -2,18 +2,19 @@
|
|||||||
|
|
||||||
你会学到:OpenFlare 是什么、当前稳定能力,以及开发时应遵守的核心产品边界与仓库结构目录分工。
|
你会学到:OpenFlare 是什么、当前稳定能力,以及开发时应遵守的核心产品边界与仓库结构目录分工。
|
||||||
|
|
||||||
OpenFlare 是一套自托管的 OpenResty 控制面,面向单团队或单组织内部运维场景。
|
OpenFlare 是一套新一代分布式反向代理与边缘安全网关平台,面向多服务器集群与单团队运维场景。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 项目定位
|
## 项目定位
|
||||||
|
|
||||||
OpenFlare 适合需要统一管理多台 OpenResty 代理节点的团队,具备以下定位:
|
OpenFlare 适合需要统一管理多台 OpenResty 代理节点、构建自建高可用边缘网络,或为源站搭建坚固防护网关的团队,具备以下定位:
|
||||||
* **控制与落地分离**:Server 控制面不直接 SSH 到代理节点,而是通过 Agent 主动拉取版本并应用。
|
* **控制与落地分离**:Server 控制面不直接 SSH 到代理节点,而是通过 Agent 主动拉取版本并应用。
|
||||||
* **不可变配置发布**:采用完整的配置版本进行预览、发布、激活和一键回滚。
|
* **Zero-Reload 动态配置同步**:基于 Lua 共享内存实现差分热更新,避免传统 Nginx 频繁 reload 导致的连接抖动。
|
||||||
* **一体化网关托管**:在同一个控制面内集成网站反代、TLS 证书自动续期申请、WAF 防护拦截、内网穿透(Tunnel)以及 Pages 静态网站托管。
|
* **一体化边缘安全网关**:在同一个控制面内集成反向代理、TLS 证书自动续期、WAF 防护拦截、Turnstile-like 客户端 PoW 防 CC 盾、内网穿透(Tunnel)以及 Pages 静态网站托管。
|
||||||
|
* **双重部署生态适应性**:既支持作为独立私有边缘 CDN 运行,亦可作为 Cloudflare 背后坚固的源站防护网关(Origin Shield),防止源站真实 IP 泄露并沉淀全量私有审计日志。
|
||||||
|
|
||||||
**非本产品定位**:多租户云平台、Kubernetes Ingress Controller、服务网格或通用日志平台。
|
**非本产品定位**:多租户公有云平台、Kubernetes Ingress Controller、服务网格或通用日志平台。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
你会学到:OpenFlare 文档如何组织、首次运行应该读哪些页面,以及部署、使用、排查分别从哪里开始。
|
你会学到:OpenFlare 文档如何组织、首次运行应该读哪些页面,以及部署、使用、排查分别从哪里开始。
|
||||||
|
|
||||||
OpenFlare 是一套自托管的 OpenResty 控制面。它把反向代理网站配置、配置版本发布、Agent 节点同步、TLS 证书和基础观测放到一个管理端中,适合单团队或单组织管理多台代理节点。
|
OpenFlare 是新一代分布式反向代理与边缘安全网关。它将传统 OpenResty / Nginx 升级为具备多节点集群编排、Zero-Reload 动态配置同步、边缘 WAF、客户端 PoW 防 CC 人机验证、内网穿透(Tunnels)与 Pages 静态托管的现代化边缘网络平台。可独立自建运行,亦可作为源站护盾与 Cloudflare 协同防御。
|
||||||
|
|
||||||
## 推荐阅读路径
|
## 推荐阅读路径
|
||||||
|
|
||||||
|
|||||||
+114
-20
@@ -3,36 +3,130 @@ layout: home
|
|||||||
|
|
||||||
hero:
|
hero:
|
||||||
name: OpenFlare
|
name: OpenFlare
|
||||||
text: 开源 CDN 编排与边缘安全平台
|
text: 新一代分布式反向代理与边缘安全网关
|
||||||
tagline: 支持反向代理、集中式配置同步、Pages 静态托管、内网穿透(Tunnels)、动态 WAF 防护与人机防 CC 挑战。
|
tagline: 让 Nginx 拥有现代云端边缘能力。集中编排多节点 OpenResty、Zero-Reload 动态热生效、内置 WAF 与客户端 PoW 防 CC 盾。可独立自建运行,亦可作为源站护盾与 Cloudflare 协同防御。
|
||||||
actions:
|
actions:
|
||||||
- theme: brand
|
- theme: brand
|
||||||
text: 快速开始
|
text: 快速开始
|
||||||
link: /guide/quick-start
|
link: /guide/quick-start
|
||||||
- theme: alt
|
- theme: alt
|
||||||
text: 设计边界
|
text: 系统架构
|
||||||
link: /design/
|
link: /design/architecture
|
||||||
- theme: alt
|
- theme: alt
|
||||||
text: GitHub
|
text: GitHub
|
||||||
link: https://github.com/Rain-kl/OpenFlare
|
link: https://github.com/Rain-kl/OpenFlare
|
||||||
|
|
||||||
features:
|
features:
|
||||||
- icon: 🛰️
|
- icon: ⚡
|
||||||
title: 集中式配置同步
|
title: 集群化集中编排 (Zero-Reload)
|
||||||
details: 通过 WebSocket 与心跳实现全网节点配置秒级同步下发与热生效,状态即时回收。
|
details: 单一控制台统一管理任意数量边缘节点,配置差分毫秒级下发,无需重载 Nginx,业务平滑无抖动。
|
||||||
- icon: 🌐
|
- icon: 🛡️
|
||||||
title: 分布式 CDN 编排
|
title: 边缘 WAF 与防 CC 盾 (PoW)
|
||||||
details: 将独立的 OpenResty 编排为高度协同的分布式 CDN 舰队,支持源站多负载均衡。
|
details: 内置 WAF 规则组、国家级 GeoIP 访问控制,以及类似 Cloudflare Turnstile 的客户端密码学 PoW 挑战。
|
||||||
- icon: 📄
|
|
||||||
title: Pages 静态托管
|
|
||||||
details: 直接上传前端打包 zip 资产,由边缘节点拉取解压并提供高性能本地服务与 API 代理。
|
|
||||||
- icon: 🚇
|
- icon: 🚇
|
||||||
title: 安全内网穿透 (Tunnels)
|
title: 安全内网穿透 (Tunnels)
|
||||||
details: 对标 Cloudflare Tunnels,无须公网 IP 或暴露入向端口,安全穿透本地服务至公网。
|
details: 无须公网 IP 或暴露入向端口,通过轻量级 openflared 客户端建立加密隧道,安全穿透内网服务。
|
||||||
- icon: 🛡️
|
- icon: 📦
|
||||||
title: 边缘 WAF 安全防护
|
title: Pages 静态托管
|
||||||
details: IP 组成员差分同步写入 Lua 共享内存,实现免 Nginx 重载的 WAF 热更新与 GeoIP 过滤。
|
details: 支持直传压缩包或自动从 GitHub Release 拉取预构建产物,边缘多版本回滚与 SPA 路由支持。
|
||||||
- icon: 🧩
|
- icon: 🌐
|
||||||
title: 防 CC 与人机挑战 (PoW)
|
title: 独立自建或协同 Cloudflare
|
||||||
details: 内置高性能客户端 Proof of Work 密码学挑战,网关边缘秒级拦截阻断僵尸网络与爬虫。
|
details: 既可作为独立自建边缘网关,亦可作为 Cloudflare 背后坚固的源站护盾(防真实 IP 泄露,沉淀全量私有日志)。
|
||||||
|
- icon: 🔒
|
||||||
|
title: 自动化证书与企业 SSO
|
||||||
|
details: 基于 ACME 协议向 Let's Encrypt 自动申请与续期多域名证书,支持 GitHub OAuth 与标准 OIDC 单点登录。
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<div class="vp-doc" style="max-width: 960px; margin: 40px auto 0; padding: 0 24px;">
|
||||||
|
|
||||||
|
## 📖 核心理念:超越传统 Nginx 单机运维
|
||||||
|
|
||||||
|
在传统的多服务器架构中,管理 Nginx 往往面临如下痛点:
|
||||||
|
1. **多节点难以协同**:每台机器需要手动编写 `nginx.conf`,证书分散,容易产生配置漂移;
|
||||||
|
2. **Reload 容易产生连接抖动**:每次更新域名或上游必须执行 `nginx -s reload`;
|
||||||
|
3. **缺乏开箱即用的高阶防御**:单机 Nginx 仅有基础的 `limit_req` 频率限制,面对分布式 CC 攻击和爬虫往往无能为力。
|
||||||
|
|
||||||
|
**OpenFlare 将 OpenResty 升级为具备云端调度能力的高可用边缘网络**。控制面统一下发配置,数据面通过 Lua 共享内存实现差分热更新,并内置类似 Turnstile 的客户端 PoW 人机验证,在网络边缘秒级阻断恶意流量。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 双重部署模式
|
||||||
|
|
||||||
|
::: tip 模式一:独立自建模式 (Standalone Edge Gateway)
|
||||||
|
适用于拥有多台独立 VPS、跨地域云服务器或 Homelab 的开发者。完全自主掌控流量与数据,自建属于自己的高可用分发与安全防御网络。
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: info 模式二:Cloudflare 源站护盾模式 (Behind Cloudflare / Origin Shield)
|
||||||
|
作为 Cloudflare 背后的源站集群网关:
|
||||||
|
- **防范源站真实 IP 泄露**:攻击者即使绕过 Cloudflare 直连源站真实 IP,OpenFlare 边缘的 WAF 与 PoW 人机验证依然能够就地拦截;
|
||||||
|
- **全量私有访问日志留存**:弥补商业 CDN 免费版日志保留极短、明细不足的痛点;
|
||||||
|
- **多后端统一动态路由**:承接 Cloudflare 流量并动态分发至内网服务或不同源站。
|
||||||
|
:::
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 横向对比
|
||||||
|
|
||||||
|
| 维度 | 传统 Nginx (`nginx.conf`) | Nginx Proxy Manager (NPM) | **OpenFlare** |
|
||||||
|
| :--- | :--- | :--- | :--- |
|
||||||
|
| **集群架构** | 每台机器独立维护,频繁 SSH | 仅支持单机,无法多节点集群协同 | **原生分布式控制面 + 边缘 Agent 集群** |
|
||||||
|
| **配置生效方式** | 每次需 `nginx -s reload`,连接可能抖动 | 频繁 Reload | **共享内存/差分热同步,Zero-Reload** |
|
||||||
|
| **防 CC / 爬虫人机验证** | 仅支持简单的 `limit_req` 频率限制 | 不支持 | **内置类似 Turnstile 的 PoW 客户端挑战** |
|
||||||
|
| **内网穿透 (Tunnels)** | 需繁琐集成第三方程式 (如 frp) | 不支持 | **内置 OpenFlared 穿透隧道,开箱即用** |
|
||||||
|
| **WAF 与安全防护** | 需复杂编译配置 ModSecurity | 仅基础 Exploits 规则 | **动态 WAF、国家级 GeoIP、IP 组差分准入** |
|
||||||
|
| **静态 Pages 托管** | 手动上传并配置静态目录 | 仅静态文件代理 | **自动化拉取 GitHub Release,版本回滚** |
|
||||||
|
| **配合 Cloudflare** | 手动配置 `set_real_ip_from` 极其繁琐 | 需繁琐设置代理头部 | **原生还原真实 IP,完美充当源站护盾** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ 架构拓扑
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
subgraph Visitors ["公网访客与客户端"]
|
||||||
|
User["公网访客 / 移动端"]
|
||||||
|
CF["Cloudflare CDN (可选代理层)"]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph EdgePlane ["边缘数据面 (OpenResty Agent 节点)"]
|
||||||
|
Edge1["边缘节点 A (OpenResty)"]
|
||||||
|
Edge2["边缘节点 B (OpenResty)"]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph ControlPlane ["控制面 (Control Plane)"]
|
||||||
|
Server["OpenFlare Server (Web 控制台)"]
|
||||||
|
DB[("PostgreSQL + Redis")]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Backend ["源站与内网服务"]
|
||||||
|
Origin["公网源站 Web 服务"]
|
||||||
|
subgraph PrivateNet ["私有网络 / Homelab"]
|
||||||
|
NAS["私有应用 / NAS"]
|
||||||
|
Client["OpenFlared 穿透客户端"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
User -->|直连 HTTPS 访问| Edge1
|
||||||
|
User -->|经 Cloudflare 代理| CF
|
||||||
|
CF -->|安全回源| Edge2
|
||||||
|
|
||||||
|
Server <-->|差分热同步 / 指标上报| Edge1
|
||||||
|
Server <-->|差分热同步 / 指标上报| Edge2
|
||||||
|
Server --- DB
|
||||||
|
|
||||||
|
Edge1 -->|反向代理| Origin
|
||||||
|
Edge2 -->|反向代理| Origin
|
||||||
|
|
||||||
|
Client <-->|加密穿透隧道| Edge1
|
||||||
|
NAS --- Client
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚖️ 商标免责声明 (Trademark Disclaimer)
|
||||||
|
|
||||||
|
OpenFlare is an independent, community-driven open-source project. It is not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. Cloudflare and related trademarks are the property of their respective owners.
|
||||||
|
|
||||||
|
OpenFlare 是一个由社区驱动的独立开源项目,与 Cloudflare, Inc. 无任何附属、认可或赞助关系。Cloudflare 及其相关商标均为其各自持有者的财产。
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user