Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions docs/config/routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,24 @@
域名解析策略,根据不同的设置使用不同的策略。

- `"AsIs"`:不进行额外操作,使用目标地址里的域名或者 sniff 到的域名。默认值。
- `"IPIfNonMatch"`:一整轮匹配结束后,当没有命中任何规则时,将域名解析成 IP 再次进行二次匹配;
- `"IPOnDemand"`:在开始进行匹配前,直接先将域名解析为 IP 进行匹配;
- `"IPOnDemand"`:在开始进行匹配前,直接先将域名解析为 IP 进行匹配。
- `"IPIfNonMatch"`:一整轮 AsIs 匹配结束后,当没有命中任何规则时,将域名解析成 IP 再次进行二次匹配,也就是再执行一轮 IPOnDemand。

解析将同时包含 IPv4 与 IPv6(你可以在内置 DNS 的 `queryStrategy` 进行二次限制) 域名解析出多条 IP 时每条规则将依次尝试全部 IP 然后再匹配下一条路由(如果该条未命中)。
解析将同时包含 IPv4 与 IPv6 (你可以在内置 DNS 的 `queryStrategy` 进行二次限制) 域名解析出多条 IP 时每条规则将依次尝试全部 IP 然后再匹配下一条路由 (如果该条未命中)。

解析动作由首个 IP 规则触发并在本次路由会话中缓存,如果解析失败将由下一条 IP 规则继续触发。

当开启 sniff + routeOnly 使路由系统可以同时看见 IP 和域名时,如果发生上述的解析,路由系统只能看到由域名解析出的 IP 而无法看见原始目标 IP, 除非解析失败。

当存在两个域名时(目标域名 + sniff 结果) 无论是用于解析还是用于域名匹配,sniff 结果的优先级总是更高。
当存在两个域名时 (目标域名 + sniff 结果) 无论是用于解析还是用于域名匹配,sniff 结果的优先级总是更高。

无论解析与否,路由系统不会影响真正目标地址,请求的目标仍然是原始目标。

> `rules`: \[[RuleObject](#ruleobject)\]

对应一个数组,数组中每一项是一个规则。

对于每一个连接,路由将根据这些规则从上到下依次进行判断,当遇到第一个生效规则时,即将这个连接转发至它所指定的 `outboundTag`或 `balancerTag`。
对于每一个连接,路由将根据这些规则从上到下依次进行判断,当遇到第一个生效规则时,即将这个连接转发至它所指定的 `outboundTag` 或 `balancerTag`。

::: tip
当没有匹配到任何规则时,流量默认由第一个 outbound 发出。
Expand Down