为什么我的路由找不到?

一旦您深入研究 Envoy 响应并发现 Envoy 生成包含消息“发送本地回复,详细信息为 route_not_found”的本地响应,下一个问题就是_为什么_?

通常,您可以查看您的路由配置和发送的标头,并查看缺少的内容。一个经常被忽略的问题是主机:端口匹配。如果您的路由配置匹配域 www.host.com,但客户端向 www.host.com:443 发送请求,则不会匹配。

如果遇到此问题,您可以通过两种方式解决它。首先,将您的配置更改为匹配主机:端口对,从

domains:
  - "www.host.com"

domains:
  - "www.host.com"
  - "www.host.com:80"
  - "www.host.com:443"

另一种方法是使用 strip_any_host_portstrip_matching_host_port 完全删除端口。不同之处在于 strip_matching_host_port 仅在端口等于监听器的本地端口时才删除端口。