Since the 2.2.0 update, the
HostRouteSelector::evaluate
function uses
context.call.request.origin.serverPort
to determine if a request matches the
port
routing filter. I’m not sure why it doesn’t call
localPort
instead, as that’s (as far as I understand) the port where the request is actually received.
We use a ktor application with CIO in k8s behind mapped ports and an ingress, so the port in the
Host
headers is something completely different from what we specify in our routing. Before 2.2, it worked - probably by accident - because CIO used the local information first.
Is there a way to make this work with 2.2? Doesn’t seem like an unusual use case, but I’m probably missing something simple here.