diff --git a/.cocoon-plan.md b/.cocoon-plan.md index 2949279..2c742fd 100644 --- a/.cocoon-plan.md +++ b/.cocoon-plan.md @@ -61,10 +61,20 @@ - **142 个单元测试全部通过** + **82 项集成测试全部通过** - 如需恢复开发,请取消暂停状态后重新执行 cron 任务 -## 待办池(冻结,不再推进) +## 待办池(维护中) +1. **README 同步** — 更新特性列表和路线图,补充反向代理文档 ✅ 2026-06-08 +2. **虚拟主机 / 多站点** — 低优先级,等待需求 ## 最近行动记录 +- 2026-06-08 12:00: **README 维护更新** + - 特性列表新增 `🔄 反向代理` 条目 + - 路线图标记反向代理为 ✅ 完成 + - 模块职责表新增 `proxy.c` / `proxy_tls.c` + - 新增配置文件示例(含反向代理配置) + - 编译零警告,142 单元测试 + 82 集成测试全部通过 + - 提交并推送 `main` + - 2026-06-08 11:35: **恢复开发 + HTTPS 反向代理** - 恢复项目开发状态,暂停 ephemeral 方向 - 新增 `proxy_tls.c` / `proxy_tls.h`:轻量级 OpenSSL 客户端封装 diff --git a/README.md b/README.md index 22b96d5..124afb1 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ | 🧩 中间件 | 内置 CORS / Basic Auth / Rate Limit,可自定义注册 | | 🔌 插件系统 | 动态加载 .so 插件,SIGUSR1 热重载 | | 🏥 健康检查 | `/_health` 端点返回 JSON 服务器状态 | +| 🔄 反向代理 | HTTP/1.1 + HTTPS 后端转发,路径前缀匹配,X-Forwarded-* 头透传 | | 🪟 跨平台 | Linux / macOS / Windows(MinGW/MSVC)| ## Quick Start @@ -121,6 +122,36 @@ make test-all make bench ``` +## 配置文件示例 + +```json +{ + "root_dir": "./examples/www", + "port": 8080, + "threaded": true, + "workers": 4, + "max_connections": 10000, + "timeout_ms": 30000, + "log_level": "info", + "access_log": "-", + "cors_enabled": true, + "rate_limit": 100, + "plugins": ["plugins/hello.so"], + "proxies": [ + { + "prefix": "/api", + "target": "http://localhost:3000" + }, + { + "prefix": "/secure", + "target": "https://api.example.com" + } + ] +} +``` + +运行:`./cocoon -c cocoon.json` + ## 命令行参数 ``` @@ -185,6 +216,7 @@ Options: | `middleware.c` | 中间件注册表 + 内置 CORS / Basic Auth / Rate Limit | | `plugin.c` | 动态插件加载 + 热重载 | | `platform.c` | 跨平台抽象(Linux/macOS/Windows) | +| `proxy.c` / `proxy_tls.c` | 反向代理(HTTP/1.1 + HTTPS 后端转发) | | `cocoon.h` | 公共配置结构体与错误码定义 | ## 核心 API 速览 @@ -264,7 +296,7 @@ make bench - [x] 插件系统(动态加载 + 热重载) - [x] 健康检查端点 - [x] 跨平台支持(Windows) -- [ ] 反向代理支持 +- [x] 反向代理支持 - [ ] 虚拟主机 / 多站点 ## 构建与安装