為什麼我的路由找不到?

當您深入研究 Envoy 回應並發現 Envoy 產生帶有訊息「Sending local reply with details route_not_found」的本地回應時,下一個問題是_為什麼_?

通常您可以查看您的路由組態和發送的標頭,並查看缺少了什麼。一個經常被忽略的問題是 host:port 匹配。如果您的路由組態匹配網域 www.host.com,但客戶端發送請求到 www.host.com:443,則它將不匹配。

如果這是您遇到的問題,您可以通過兩種方式之一解決它。首先,更改您的組態以匹配 host:port 對,從

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 僅在端口等於監聽器的本地端口時才去除端口。