
hhftechnology/middleware-manager在安装Middleware Manager之前,请确保您具备以下条件:
部署Middleware Manager最简单的方法是将其添加到您现有的Pangolin docker-compose.yml 文件中:
yamlmiddleware-manager: image: hhftechnology/middleware-manager:latest container_name: middleware-manager restart: unless-stopped volumes: - ./data:/data # 用于数据库持久化 - ./config/traefik/rules:/conf # Traefik配置将写入的位置 - ./config/middleware-manager/templates.yaml:/app/config/templates.yaml # 自定义模板(可选) environment: - PANGOLIN_API_URL=[***] # 指向您的Pangolin API的URL - TRAEFIK_CONF_DIR=/conf # 写入Traefik配置的目录 - DB_PATH=/data/middleware.db # SQLite数据库路径 - PORT=3456 # Web UI和API的端口 ports: - "3456:3456" networks: - pangolin # 必须与Pangolin在同一网络
将此配置添加到您的 docker-compose.yml 文件后,运行:
bashdocker compose up -d middleware-manager
对于开发或自定义部署场景,您也可以手动安装Middleware Manager:
克隆仓库:
bashgit clone [***] cd middleware-manager
配置环境:
bashcp .env.example .env # 编辑.env文件以进行特定配置
构建并启动服务:
bashmake build ./middleware-manager
注意,手动安装需要Go 1.19+和Node.js 16+来构建应用程序。
Middleware Manager可以使用以下环境变量进行配置:
| 变量 | 描述 | 默认值 |
|---|---|---|
PANGOLIN_API_URL | 指向您的Pangolin API的URL | [***] |
TRAEFIK_CONF_DIR | 写入Traefik配置的目录 | /conf |
DB_PATH | SQLite数据库路径 | /data/middleware.db |
PORT | Web UI和API的端口 | 3456 |
CHECK_INTERVAL_SECONDS | 检查新资源的频率(秒) | 30 |
GENERATE_INTERVAL_SECONDS | 更新配置文件的频率(秒) | 10 |
DEBUG | 启用调试日志 | false |
ALLOW_CORS | 为API启用CORS | false |
CORS_ORIGIN | 允许的CORS源 | ""(全部) |
您可以通过将 templates.yaml 文件挂载到容器来创建自定义中间件模板。此文件定义了在您的安装中可用的默认中间件:
yaml# 示例templates.yaml middlewares: - id: "security-headers" name: "强安全头" type: "headers" config: customResponseHeaders: Server: "" X-Powered-By: "" browserXSSFilter: true contentTypeNosniff: true customFrameOptionsValue: "SAMEORIGIN" forceSTSHeader: true stsIncludeSubdomains: true stsSeconds: 63072000 - id: "rate-limit" name: "标准速率限制" type: "rateLimit" config: average: 100 burst: 50
安装后,请按照以下步骤验证一切是否正常工作:
访问Web UI:
打开浏览器并导航至 [***]
您应该能看到Middleware Manager仪表板。
检查资源同步: Middleware Manager应自动开始从Pangolin获取资源。导航至"资源"选项卡,查看您的资源是否已列出。
验证Traefik配置:
服务运行一分钟后,检查配置的 TRAEFIK_CONF_DIR 目录中是否有名为 resource-overrides.yml 的文件。此文件将包含Middleware Manager生成的Traefik配置。
测试集成:
如果在设置过程中遇到问题:
bashdocker compose logs middleware-manager



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务