Hello,
I know this is a old issue but I am facing a very similar situation with a web server that serves static files. So, I have a web server, say myapp , that I would like to proxy using Jupyter server proxy. I have integrated it into JupyterLab and I can access it at http://localhost:8888/myapp URL. The landing page of myapp has say following content:
that serves static files. When I click submit on the page, I am being redirected to http://localhost:8888/session/new.cgi and end up with 404 error. If I manually navigate to http://localhost:8888/myapp/session/new.cgi I can access the page without any issues. I have tried using absolute_url , rewrite_response without much luck. Is it possible to achieve what I am trying here? If so, any pointers would be appreciated!
This is an absolute path, so it will always take you to /session. You could try changing it to a relative path (remove the leading /), but without seeing your whole setup it’s impossible to say whether this will fix it. You’ve mentioned your app is serving static files but new.cgi implies it’s a CGI app, so it depends on whether the application requires knowledge of the base prefix or not.
Thanks a lot for coming back @manics. Well, it is a 3rd party application which we cannot really modify. It is actually a web interface for doing atomistic simulations. We are trying to integrate it into JupyterLab using server proxy. I figured out that /session is like an absolute path and that is where we are having issues with integrating it with proxy server. It is indeed a CGI app running some Perl scripts in the backend.
Is there any way we can make this work without having to change the paths in the web server? Thanks!!
I have looked into sources and no, I did not find any way to configure the base path. It is a very basic web app. Thanks for the pointer about rewrite_response. I did look into that example as well but did not think about rewriting HTML content. I will give it a try. If I find a solution, I will post here.
Hello @manics,
I could make it work using rewrite_response by rewriting the HTML content. What I did is basically injecting base tag into HTML head section and changing all absolute URLs to relative. It might not be the most elegant solution but it does the job. I am not sure if I can post it here (in case others face similar issue) as this web app I am working with is not open source.
Thanks again for this pointer. This rewrite_response seems to be quite nice and powerful feature!!