You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title: Route fails to match if host header contains a port but domains omits port
Description:
Port numbers in an http host header affect route matching in envoy in a way that is unexpected as a user. When issuing an http request, as a user, I would expect curl service:80 to be matched as if I had issued the following request curl service. What happens now is that if the list of domains in a virtual host does not contain both the domain with and without a port it will not be matched and return a 404.
The reason this succeeds is that curl will drop the port number from the host header when it is a well-known port like port 80. This is not consistent across all http clients of course, prometheus for example may issue a scrape request with the host header set to include a port number.
I understand this is not necessarily a bug but it does break with existing proxies and existing expectations.
The text was updated successfully, but these errors were encountered:
taion809
changed the title
Route fails to match if host header contains a port
Route fails to match if host header contains a port domains omits port
May 31, 2018
Title: Route fails to match if host header contains a port but domains omits port
Description:
Port numbers in an http host header affect route matching in envoy in a way that is unexpected as a user. When issuing an http request, as a user, I would expect
curl service:80
to be matched as if I had issued the following requestcurl service
. What happens now is that if the list of domains in a virtual host does not contain both the domain with and without a port it will not be matched and return a 404.Configuration
Repro steps:
Success:
Failure:
The reason this succeeds is that curl will drop the port number from the host header when it is a well-known port like port 80. This is not consistent across all http clients of course, prometheus for example may issue a scrape request with the host header set to include a port number.
I understand this is not necessarily a bug but it does break with existing proxies and existing expectations.
The text was updated successfully, but these errors were encountered: