Description of problem: Let's say we have 2 routes like this: - HTTP-only route for "myapp.apps.example.com" domain and "/mypath" path - HTTPS-edge-redirect route for "myapp.apps.example.com" and no path In such situation, redirect is sent for any query to "myapp.apps.example.com", including "myapp.apps.example.com/mypath", so the more specific path route is not taking precedence as expected. OpenShift release version: 4.7 (also reproduced on latest dev version) Cluster Platform: Any How reproducible: Always as per steps Steps to Reproduce (in detail): 1. Create HTTP-only route for "myapp.apps.example.com" domain and "/mypath" path 2. Create HTTPS-edge-redirect route for "myapp.apps.example.com" and no path 3. "curl -v http://myapp.apps.example.com/mypath" Actual results: A redirect to https://myapp.apps.example.com/mypath Expected results: http://myapp.apps.example.com/mypath to serve plain http and serve whatever service is pointed by the HTTP-only more specific route. Impact of the problem: (check comments) Additional info: If we check this template fragment[1], we see that the redirect check is done before the use backend, so if there is a redirect route for which the hostname could match (even if it has less precedence than the http-only route), then the redirect is sent [1] - https://github.com/openshift/router/blob/release-4.9/images/router/haproxy/conf/haproxy-config.template#L233
*** This bug has been marked as a duplicate of bug 1896474 ***