I am using Jupyter Server Proxy extension to proxy port 4040 for the Apache Spark UI in our Kubeflow JupyterLab 3.6.8 notebook environment.
I can access the proxy port using https://my.domain.com/notebook/namespace/notebook_name/proxy/4040/jobs/
perfectly fine, however, when I use the launcher icon option, I get a strange redirect that sends me to http://my.domain.com:443/notebook/cl-admin/test/spark_ui/jobs/.
My config for the proxy and launcher icon looks like this, I’ve also tried toggling absolute_url
flag, with no change in beahviour.
c.ServerProxy.servers = {
"spark_ui": {
"port" : 4040,
"absolute_url": False,
"launcher_entry": {
"enabled": True,
"icon_path": "/etc/jupyter/spark_ui.svg",
"title": "Spark UI"
},
"new_browser_tab": True
}
}
The deployKF Istio service mesh configuration does URL rewriting for paths with /notebook
in it to hit the notebook VirtualService and route to the notebook service in Kubernetes. It seems like the Jupyter Proxy Server Launcher icon URL is captured by the rewrite rule but fails due to the protocol, if I could make it force HTTPS it will likely work.
I’m wondering if there is a way to set an absolute URL or custom base_path for the launcher icon. The base_url that the shortcut is generating ends up sending me to an HTTP URI instead of HTTPS, which seems like is coming from JupyterLab configuration somewhere or my container environment. I can see I can specify custom launch commands, but I’m not sure how to build this up with the basic proxy functionality, which works fine if I manually type the path.
Any assistance with getting this working would be appreciated, in the past I had used separate launcher icon plugin, but it throws many errors on startup of the notebook server in JupyterLab 3.6.8 due to it depending on specific JupyterLab Python packages, so using the inbuilt launcher icon would be ideal.