Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Entry redirect to _setroute

    Visiting the site root or /<Project> (with or without trailing slash) redirects to /<Project>/_setroute. The root redirects to /ProveIt/_setroute by default.

  2. Cookie-based route selection

    The _setroute endpoint resolves the cookie value dynamically using ProjectNameToRoute and sets the routing cookie:

    ProjectRoute=p1; Path=/; Secure; SameSite=None

    The user is then redirected to the unified /html5/ endpoint.

  3. Deep-link normalization

    Direct access to /<Project>/html5/... (bookmarks, refreshes, deep links) is handled by a dedicated rule that re-sets the cookie and redirects to /html5/<path>, preserving the sub-path.

  4. Unified reverse proxy for /html5/

    All requests under /html5/ are forwarded to the correct local backend. The target port is resolved dynamically from the cookie using ProjectRouteToPort:

    http://127.0.0.1:{ProjectRouteToPort:{C:2}}/html5/{R:1}

  5. Unified reverse proxy for /rtServices/

    WebSocket upgrade requests and all /rtServices/ traffic are routed to the correct backend using the same cookie + RewriteMap mechanism:

    http://127.0.0.1:{ProjectRouteToPort:{C:2}}/rtServices/{R:1}

    After the WebSocket upgrade completes, subsequent client ↔ backend traffic flows through that long-lived connection and routing decisions are locked in for the session.

...


Current Demos and Routing Map

...