Files
compose-anything/src/pingora-proxy-manager/README.zh.md
T
2025-12-11 14:11:37 +08:00

3.7 KiB
Raw Blame History

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/443Pingora 高效处理所有流量
  • 控制平面(81Axum 提供 API 和仪表板服务
  • SSL 管理:集成 Certbot 进行可靠的 ACME 处理
  • 状态管理:使用 ArcSwap 实现无锁配置读取
  • 数据库:SQLite 用于持久化存储主机和证书

安全注意事项

  • 部署后立即更改默认凭据
  • 在生产环境中设置强密码的 JWT_SECRET
  • 容器以最小权限运行(仅 NET_BIND_SERVICE
  • 启用只读根文件系统以增强安全性

参考链接

许可证

MIT 许可证 - 详见上游项目