-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
None
-
False
-
False
-
No
-
-
-
-
+
APIcast routes requests to the wrong backend.
This happens when backends use the same host for the same service(product). So if a product has two backends
- backend 1 - https://{backend-host}/a/b
- backend 2 - https://{backend-host}/c
A request e.g. 'POST https://{backend-host}/c ' can be routed incorrectly to backend 1 as 'POST https://{backend-host}//a/b/c' instead of being routed to backend 2. So the request fails.
Notes:
- The apicast log statement "Rule matched <url>" shows the wrong the backend being selected.
- keepalive connection is used . HTTPS is used from both client to APIcast and from APICast to backend .
This can be reproduced when:
- APIcast is configured to terminate TLS (either with environment variables, or with the tls termination policy)
- A client is configured to reuse the open TCP connection
- Multiple requests are sent from the client targeting different Backends configured each on its own path, on the same product
- links to
- mentioned on