3.7 KiB
3.7 KiB
Pingora Proxy Manager
基于 Cloudflare Pingora 构建的高性能、零停机反向代理管理器。简单、现代、快速。
特性
- ⚡️ 高性能:基于 Rust 和 Pingora 构建,能够以低延迟处理高流量
- 🔄 零停机配置:动态重新配置,无需重启进程
- 🔒 SSL/TLS 自动化:
- HTTP-01 验证用于单个域名
- DNS-01 验证用于通配符证书(
*.example.com),支持 Cloudflare、AWS Route53 等
- 🌐 代理主机:轻松管理虚拟主机、位置和路径重写
- 📡 流(L4):TCP 和 UDP 转发,适用于数据库、游戏服务器等
- 🛡️ 访问控制:支持 IP 白名单/黑名单和基本认证
- 🎨 现代化仪表板:使用 React、Tailwind CSS 和 shadcn/ui 构建的简洁响应式 UI
- 🐳 Docker 就绪:单容器部署,易于设置和维护
快速开始
docker compose up -d
访问仪表板:http://localhost:81
默认凭据:
- 用户名:
admin - 密码:
changeme(请立即更改!)
端口
| 端口 | 描述 |
|---|---|
| 80(主机)→ 8080(容器) | HTTP 代理 |
| 81(主机)→ 81(容器) | 仪表板/API |
| 443(主机)→ 443(容器) | HTTPS 代理 |
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PINGORA_VERSION |
latest |
Docker 镜像版本 |
TZ |
UTC |
时区 |
PINGORA_JWT_SECRET |
changeme_in_production_please |
认证用的 JWT 密钥(生产环境必须更改) |
PINGORA_LOG_LEVEL |
info |
日志级别(trace、debug、info、warn、error) |
PINGORA_HTTP_PORT_OVERRIDE |
80 |
HTTP 代理的主机端口 |
PINGORA_DASHBOARD_PORT_OVERRIDE |
81 |
仪表板/API 的主机端口 |
PINGORA_HTTPS_PORT_OVERRIDE |
443 |
HTTPS 代理的主机端口 |
卷
| 卷 | 路径 | 描述 |
|---|---|---|
pingora_data |
/app/data |
SQLite 数据库和证书 |
pingora_logs |
/app/logs |
应用程序日志 |
letsencrypt |
/etc/letsencrypt |
Let's Encrypt 证书 |
架构
- 数据平面(8080/443):Pingora 高效处理所有流量
- 控制平面(81):Axum 提供 API 和仪表板服务
- SSL 管理:集成 Certbot 进行可靠的 ACME 处理
- 状态管理:使用 ArcSwap 实现无锁配置读取
- 数据库:SQLite 用于持久化存储主机和证书
安全注意事项
- 部署后立即更改默认凭据
- 在生产环境中设置强密码的
JWT_SECRET - 容器以最小权限运行(仅
NET_BIND_SERVICE) - 启用只读根文件系统以增强安全性
参考链接
许可证
MIT 许可证 - 详见上游项目。