SuperAPI AI 工具集

caddy

编程与开发

查看项目

更新于 10-16 01:31

技能介绍

用途:该技能用于管理本地开发用的反向代理,依托 Caddy 服务器的 Admin API(地址为 localhost:2019),为本地运行的服务分配并注册代理路由。

主要能力:

  1. 状态检查:curl -sf http://localhost:2019/config/ 可确认 Caddy 是否运行。
  2. 列出路由:curl -sf http://localhost:2019/config/apps/http/servers/local_proxies/routes,结果可按 Name | URL | Backend 表格展示。
  3. 注册代理:名称可由用户指定,或按项目目录名加短随机后缀生成(示例命令使用了 basename、tr、sed 与 urandom)。未指定端口时可扫描 3000 至 3100,用 lsof 找到空闲端口。若 local_proxies 服务器未初始化,可向 /load 发送 POST 创建监听 :80、路由为空的配置。随后向 /config/apps/http/servers/local_proxies/routes 发送 POST 添加路由。
  4. 删除代理:curl -sf -X DELETE "http://localhost:2019/id/proxy_NAME"。更新代理时先删除再按新端口重新添加。

路由 JSON 结构包含 @id(proxy_<name>)、match(host 为 <name>.localhost)、handle(reverse_proxy 指向 localhost:<port>)、terminal: true。

使用方式与限制:需先安装并启动 Caddy,例如 brew install caddy 与 caddy start;端口 80 被拒时需 sudo caddy start。若 Caddy 未运行,会提示安装与启动命令。路由已存在时应询问用户是更新还是换名。平台方面,macOS 上 *.localhost 自动解析到 127.0.0.1,Linux 可能需要在 /etc/hosts 中添加条目。资料未提供其他平台行为、版本要求、性能或安全说明。