路由

路由连接 入口终点,是 nanhook 中 webhook 事件从入口传递到终点的管道。 除了定义如何传递事件之外,路由还可指定要使用的延迟、自动重试策略。

新增路由

准备工作
  • 新增入口,生成一个唯一的 入口网址,允许 nanhook 开始接收 webhook 事件。
  • 新增终点,填写有效的 终点网址nanhook 将收到 webhook 事件传递到终点。

选择 入口终点 连接成路由。

状态

状态 没有选择 可用 时,路由状况是“停用”,路由的入口收到 webhook 事件不会传递到路由的终点。

状况

路由状况是一个计算字段,只有路由状况是 启用,才执行事件传递。

路由状态入口状态终点状态 决定路由状况是否为 启用

  • 路由、入口、终点的状态都是 可用,路由状况是 启用
  • 路由、入口、终点的任意一个状态不是 可用,路由状况都是 停用

派送通知

路由的事件在派送成功或失败,同时终点的状态也有变更时,发送通知到站内信的触发策略:

  • 首次派送失败
  • 最后一次派送失败
  • 忽略

并根据通知通道配置,自动提醒您的团队,以便他们可以尽快开始采取措施解决问题。

延迟

  • 当设置为零时,取消延迟策略;
  • 当设置大于零时,开启延迟策略,设置在入口成功收到 webhook 事件后延迟多久开始派送到终点;最多延迟 6 小时(60 * 60 * 6 = 21600 秒)。

重试

配置派送到终点失败的自动重试策略;最多间隔 6 小时,最多自动重试 20 次;手动重试不限次数。

时间算法:

  • 线性 重试将以固定的时间间隔发生;
  • 指数 每次重试的延迟时间将是上一次的两倍(1 秒、2 秒、4 秒……)。

当次数设置为零时,取消自动重试策略。

请求标头

在 HTTP 请求发送到终点服务器之前需要添加和删除的标头。 HTTP 标头参考文档

添加标头

将在终端服务器 HTTP 请求添加一个标头。

例如:

配置添加标头

foo: value

入口 HTTP 请求

GET / HTTP/1.1
host: q.nanhook.com

终点服务器的请求

GET / HTTP/1.1
host: q.nanhook.com
foo: value
添加已存在的标头,它将再添加一个标头

例如:

配置添加标头

foo: new-value

入口 HTTP 请求

GET / HTTP/1.1
host: q.nanhook.com
foo: original-value

终点服务器的请求

GET / HTTP/1.1
host: q.nanhook.com
foo: original-value
foo: new-value

删除标头

如果删除具有多个值的标题,则所有值都将被删除。

例如:

配置删除标头

foo

入口 HTTP 请求

GET / HTTP/1.1
host: q.nanhook.com
foo: value1
foo: value2

终点服务器的请求

GET / HTTP/1.1
host: q.nanhook.com

替换已存在的标头

例如:

配置删除标头

foo

配置添加标头

foo: new-value

入口 HTTP 请求

GET / HTTP/1.1
host: q.nanhook.com
foo: original-value

终点服务器的请求

GET / HTTP/1.1
host: q.nanhook.com
foo: new-value

区分大小写

添加和删除的标头时,nanhook 将不区分大小写的匹配任何标头。

特殊情况

  • 不能添加或删除用户代理标头 User-Agent
  • 不能添加或删除主机标头 Host

配置限制

  • 需要添加的标头列表最多 5 个。
  • 需要删除的标头列表最多 5 个。

删除

路由删除将不再传递 webhook 事件。