-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
None
-
Unset
-
No
-
-
-
Description of Problem
The tasks definition of its internal API on internal.console.redhat.com is:
- name: tasks-editing origin: http://advisor-backend-api.advisor-stage.svc.cluster.local:8000/internal/api/tasks/v1/task route: /api/tasks/v1/task auth: saml: "any(role in ['clouddot-infrastructure', 'advisor-dev'] for role in user['Role'])"
The Advisor/Tasks API provides this path via '/internal/api/tasks/v1' because it is an internal API, and that's how we distinguish that from the public API. This path is also important for the developers to test the internal API.
So the path in the origin is different to the path in the route. This causes the API to be served as if it is still within the `/internal/` path. The NGINX server does not rewrite the paths, as Apache would with the ProxyPass and ProxyPassReverse directives. Therefore, any link the user uses - including forms - requests a path that does not exist on the NGINX server.
We would like the NGINX server to rewrite the path in transit, as Apache would.
How reproducible
Always
Steps to Reproduce
Actual Behavior
- The paths of the URLs in the page all start with `/internal/`
- Those links will always return a 404.
Expected Behavior
- The paths are rewritten to not contain the `/internal/` prefix.
- The links therefore work correctly.
Business Impact / Additional info
This prevents editing of Tasks.