Change Cylc Hub URL or base path

Is there a way to change the default base path from /hub to something else? We’re trying to make the hub accessible from the outside via a proxy-auth server we have via “https://proxy/cylc/” but the Hub keeps re-writing the URL back to “https://proxy/hub/” but we need it to go to “https://proxy/cylc/hub/”.

The farthest I was able to get was to set bind_url in my jupyter_config.py to:
c.JupyterHub.bind_url = 'http://:43600/cylc'

This seems to work for the application/api but then none of the static assets/scripts load because they’re all pointing to /hub/ still.

Thanks!

I think c.JupyterHub.base_url might do the trick, but I haven’t tried it myself.

Worth taking a look at these helpful notes JupyterHub put together for proxying.

Ok, I tried base_url and it just overwrote my bind_url value. I’ll work with our web dept using those notes. I believe we use Apache.

Alright, we got it loaded but apparently _xsrf isn’t making it back to the server and the web guys swear they’re not filtering it out. We unfortunately don’t have web debug tools available to us so I’ll have to wait to inspect once I get to a personal computer.

The error we’re seeing:

[W 2024-11-06 20:48:01.238 CylcHubApp web:1873] 403 POST /cylc/user/{...}/cylc/graphql ({...}): '_xsrf' argument missing from POST

Edit: I am temporarily using the DummyAuthenticator… I see a post commenting they had to implement the following method in their authentication module to get it to work:

def check_xsrf_cookie(self):
        return