Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove base url path sent in from proxy servers, to not get "Not found!" error? #2225

Closed
bdklahn opened this issue Jul 23, 2022 · 2 comments · Fixed by #2227
Closed

Remove base url path sent in from proxy servers, to not get "Not found!" error? #2225

bdklahn opened this issue Jul 23, 2022 · 2 comments · Fixed by #2227
Labels
HTTP/WS The connection between backend and frontend

Comments

@bdklahn
Copy link

bdklahn commented Jul 23, 2022

The design of Pluto is very nice and cool! I've watched a few of the JuliaCon and other videos about it. Thanks for creating this!

My colleagues and I do a lot of collaborative data science work. Many of us use Jupyter Lab running on an HPC system, so we have direct compute access to the same data files, etc. Our university runs a "portal", where a web app helps users set up a compute allocation, then starts a Jupyter Lab session people can connect to.
But I like to use a newer Jupyter version, with my own stuff available (via singularity image, etc.). So I've figured out a way to do that via shell access, and the proxy web server (ngnix, I believe) scheme they use for the portal (still needs/uses university authentication).
Then I can access my custom server via their url scheme:
https://sub.domain.edu/node/${host}/${port}/

On an HPC node, where I have Julia available, I can launch . . .
julia> Pluto.run(;launch_browser=false, host="0.0.0.0")

There's not much to video, but this is all I see in my client workstation browser window:
Screenshot_20220723_185620

I think (hope) that means I've actually connected to the Pluto web server, but the route being sent is not known (When I try other things, the error page looks more like nginx style).

I suspect Pluto is getting sent the node/${host}/${port}/ as part of the request (which it would obviously not know what to do with).

With my working Jupyter Lab setup, I have to include the following in my config file:
c.ServerApp.base_url = '/node/${host}/${port}/'

I think that is necessary, because otherwise the Jupyter Lab server will always get that node/${host}/${port}/ as part of the request, and won't know what to do with that (those paths make no sense to it's web url API). I assume that setting just lops that part off, before sending to the Jupyter server.

Is there a similar setting available/possible for Pluto.run()?

Thanks!

P.S. I've confirmed with a local Pluto session that "Not found!" looks identical (same dark background, etc.), when I insert a nonsensical string after the port, in the browser url.
So I have some hope that I am actually able to get to Pluto server running on my HPC node, but maybe just need a way to remove that "base url".

@Pangoraw
Copy link
Collaborator

Thanks for the investigation! There are currently no way to remove the base url but this would definititely interesting to support directly inside Pluto.

@Pangoraw Pangoraw added the HTTP/WS The connection between backend and frontend label Jul 24, 2022
@Pangoraw Pangoraw mentioned this issue Jul 25, 2022
3 tasks
@Pangoraw
Copy link
Collaborator

I implemented this setting in #2227, could you try it and report if it works for your use case? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HTTP/WS The connection between backend and frontend
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants