Uploaded image for project: 'Hybrid Cloud Console'
  1. Hybrid Cloud Console
  2. RHCLOUD-31605

Internal console URLs not rewritten correctly

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 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

      1. Go to https://internal.console.redhat.com/api/tasks/v1/task

      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.

              Unassigned Unassigned
              pwayper-insights Paul Wayper
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: