本地转发
本地转发在 Free 与 Plus 下均可使用。CLI 会为 endpoint 维持 WebSocket;每当 HookNexus 收到 webhook,CLI 会将其作为 HTTP 请求转发到你通过 --to 指定的地址,便于在不暴露公网端口的情况下本地调试。
目标地址(--to)
--to 必须是完整 URL: 协议、主机、端口(非 80/443 时)以及 路径——即 你本机服务上实际接收转发请求 的那条路由。路径由 你的 后端框架与路由决定,不是 HookNexus 控制台规定的。
若只写 http://localhost:8788 这类 没有路径 的地址,请求会打到本地的 /,很多服务会返回 404。下文示例中的 PORT、PATH 请换成你真实的端口与路径。
工作原理
- 运行
hooknexus forward并提供包含完整本地地址的--to(见上节)。 - CLI 通过 WebSocket 订阅对应 endpoint。
- 收到 webhook 后,将方法、头、查询串与 body 转发到目标 URL。
- 终端会汇总状态码、耗时与截断后的响应体等信息。
CLI 可能会附加用于识别的转发相关请求头;当前完整列表以 hooknexus forward --help 为准。
基本用法
hooknexus forward --to http://localhost:PORT/PATHhooknexus forward <endpoint-id> --to http://localhost:PORT/PATH仅为举例(你的路径应自行替换):http://localhost:3000/webhook。
若省略 endpoint id,选择逻辑与 hooknexus listen 相同(自动选择、交互选择或自动创建)。
路径保留
默认请求会发到你传给 --to 的完整 URL。若要把 HookNexus 公网 webhook 上的 路径段追加 到你本地的 origin 上,使用 --preserve-path(仍从类似 http://localhost:3000 的基地址开始,并确认你的服务如何路由合并后的路径):
hooknexus forward --to http://localhost:3000 --preserve-path本机与非本机目标
默认仅允许 localhost、127.0.0.1、.local。转发到其他主机时需显式允许:
hooknexus forward --to http://example.com/webhook --allow-external多个 endpoint
每个 endpoint 建议运行 独立的 forward 进程(不同终端或进程管理器),并各自配置 --to。若只需同时监听多个 endpoint,可使用 hooknexus listen 多 id 或 --all。
常用选项
完整列表见 hooknexus forward --help:
| 选项 | 作用 |
|---|---|
--to <url> | 完整目标 HTTP 地址,须含 路径(必填) |
--preserve-path | 保留原始路径段 |
--allow-external | 允许非本机目标 |
--timeout <ms> | 转发 HTTP 请求超时 |
-H "Name: Value" | 为转发请求追加头部(可重复) |
稳定性说明
- WebSocket:与 HookNexus 断连后,CLI 会尝试 自动重连。
- HTTP 转发:失败会在终端提示;是否再次收到同一事件取决于上游是否重发 webhook。